# Copyright (C) 2022 The Qt Company Ltd. # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause """PySide6 port of the areachart example from Qt v6.x""" import sys from PySide6.QtCore import QPointF, Qt from PySide6.QtWidgets import QMainWindow, QApplication from PySide6.QtCharts import QChart, QChartView, QLineSeries, QAreaSeries from PySide6.QtGui import QGradient, QPen, QLinearGradient, QPainter class TestChart(QMainWindow): def __init__(self): super().__init__() self.series_0 = QLineSeries() self.series_1 = QLineSeries() self.series_0.append(QPointF(1, 5)) self.series_0.append(QPointF(3, 7)) self.series_0.append(QPointF(7, 6)) self.series_0.append(QPointF(9, 7)) self.series_0.append(QPointF(12, 6)) self.series_0.append(QPointF(16, 7)) self.series_0.append(QPointF(18, 5)) self.series_1.append(QPointF(1, 3)) self.series_1.append(QPointF(3, 4)) self.series_1.append(QPointF(7, 3)) self.series_1.append(QPointF(8, 2)) self.series_1.append(QPointF(12, 3)) self.series_1.append(QPointF(16, 4)) self.series_1.append(QPointF(18, 3)) self.series = QAreaSeries(self.series_0, self.series_1) self.series.setName("Batman") self.pen = QPen(0x059605) self.pen.setWidth(3) self.series.setPen(self.pen) self.gradient = QLinearGradient(QPointF(0, 0), QPointF(0, 1)) self.gradient.setColorAt(0.0, 0x3cc63c) self.gradient.setColorAt(1.0, 0x26f626) self.gradient.setCoordinateMode(QGradient.ObjectBoundingMode) self.series.setBrush(self.gradient) self.chart = QChart() self.chart.addSeries(self.series) self.chart.setTitle("Simple areachart example") self.chart.createDefaultAxes() self.chart.axes(Qt.Horizontal)[0].setRange(0, 20) self.chart.axes(Qt.Vertical)[0].setRange(0, 10) self._chart_view = QChartView(self.chart) self._chart_view.setRenderHint(QPainter.Antialiasing) self.setCentralWidget(self._chart_view) if __name__ == "__main__": app = QApplication(sys.argv) window = TestChart() window.show() window.resize(400, 300) sys.exit(app.exec())