AreaChart Example▲
Running the Example▲
To run the example from Qt Creator, open the Welcome mode and select the example from Examples. For more information, visit Building and Running an Example.
Creating Area Charts▲
To create area charts, we need two QLineSeries instances. They are going to define the upper and lower boundary of the area.
QLineSeries *
series0 =
new
QLineSeries();
QLineSeries *
series1 =
new
QLineSeries();
We add data to both series and use the stream operator.
*
series0 &
lt;&
lt; QPointF(1
, 5
) &
lt;&
lt; QPointF(3
, 7
) &
lt;&
lt; QPointF(7
, 6
) &
lt;&
lt; QPointF(9
, 7
) &
lt;&
lt; QPointF(12
, 6
)
&
lt;&
lt; QPointF(16
, 7
) &
lt;&
lt; QPointF(18
, 5
);
*
series1 &
lt;&
lt; QPointF(1
, 3
) &
lt;&
lt; QPointF(3
, 4
) &
lt;&
lt; QPointF(7
, 3
) &
lt;&
lt; QPointF(8
, 2
) &
lt;&
lt; QPointF(12
, 3
)
&
lt;&
lt; QPointF(16
, 4
) &
lt;&
lt; QPointF(18
, 3
);
Now we create a QAreaSeries instance using two line series objects. We set the custom gradient fill and width of the outline.
QAreaSeries *
series =
new
QAreaSeries(series0, series1);
series-&
gt;setName("Batman"
);
QPen pen(0x059605
);
pen.setWidth(3
);
series-&
gt;setPen(pen);
QLinearGradient gradient(QPointF(0
, 0
), QPointF(0
, 1
));
gradient.setColorAt(0.0
, 0x3cc63c
);
gradient.setColorAt(1.0
, 0x26f626
);
gradient.setCoordinateMode(QGradient::
ObjectBoundingMode);
series-&
gt;setBrush(gradient);
Last we create the QChartView instance, set the title, set anti-aliasing, and add the area series. We also create the default axes and specify the ranges on them.
QChart *
chart =
new
QChart();
chart-&
gt;addSeries(series);
chart-&
gt;setTitle("Simple areachart example"
);
chart-&
gt;createDefaultAxes();
chart-&
gt;axes(Qt::
Horizontal).first()-&
gt;setRange(0
, 20
);
chart-&
gt;axes(Qt::
Vertical).first()-&
gt;setRange(0
, 10
);
The chart is ready to be shown.
QChartView *
chartView =
new
QChartView(chart);
chartView-&
gt;setRenderHint(QPainter::
Antialiasing);