AreaChart Example¶
The example shows how to create a simple area chart.
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.
series0 = QLineSeries() series1 = QLineSeries()
We add data to both series and use the stream operator.
series0 << QPointF(1, 5) << QPointF(3, 7) << QPointF(7, 6) << QPointF(9, 7) << QPointF(12, 6) << QPointF(16, 7) << QPointF(18, 5) series1 << QPointF(1, 3) << QPointF(3, 4) << QPointF(7, 3) << QPointF(8, 2) << QPointF(12, 3) << QPointF(16, 4) << 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.
series = QAreaSeries(series0, series1) series.setName("Batman") pen = QPen(0x059605) pen.setWidth(3) series.setPen(pen) gradient = QLinearGradient(QPointF(0, 0), QPointF(0, 1)) gradient.setColorAt(0.0, 0x3cc63c) gradient.setColorAt(1.0, 0x26f626) gradient.setCoordinateMode(QGradient.ObjectBoundingMode) series.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.
chart = QChart() chart.addSeries(series) chart.setTitle("Simple areachart example") chart.createDefaultAxes() chart.axes(Qt.Horizontal).first().setRange(0, 20) chart.axes(Qt.Vertical).first().setRange(0, 10)
The chart is ready to be shown.
chartView = QChartView(chart) chartView.setRenderHint(QPainter.Antialiasing)