Qt World Summit: Register Today!

Resizing axis causes artifacts in a LineSeries binded to QAbstractTableModel

  • I've built a sample QtQuick 2 application which plots a line series dynamically using QtCharts.

    The data for the Line series comes from C++ using a model derived from QAbstractTableModel class and exposed by a QVXYModelMapper.

    The problem is that during resizing the axis, some artifacts are produced in the plotted series. Specifically, a straight line appears which goes from the previous plotted point to the current plotting position.

    This issue only happens for the QAbstractTableModel-based series. You can see an example of this happening several times because of resize in the following screenshot:

    The buggy series is the green one. Note that the data for blue series is generated completely in QML and it doesn't have this issue.

    The source code of reproducing this problem is available here:


    Here is the main.qml from this source code just for reference:

    import QtQuick 2.7
    import QtQuick.Window 2.2
    import QtQuick.Controls 2.0
    import QtCharts 2.0
    ApplicationWindow {
    	visible: true
    	width: 600
    	height: 300
    	property int timeStep: 0
    	ChartView {
    		id: chartView
    		anchors.fill: parent
    		ValueAxis {
    			id: axisX
    			min: 0
    			max: 400
    		Component.onCompleted:  {
    			mapper.series = series2
    		LineSeries {
    			id: series1
    			axisX: axisX
    		LineSeries {
    			id: series2
    			axisX: axisX
    	Timer {
    		interval: 100
    		repeat: true
    		running: true
    		onTriggered: {
    			var y = (1+Math.cos(timeStep/10.0))/2.0;
    			series1.append(timeStep, y);