diff options
Diffstat (limited to 'examples/charts/temperaturerecords')
-rw-r--r-- | examples/charts/temperaturerecords/doc/temperaturerecords.png | bin | 0 -> 13035 bytes | |||
-rw-r--r-- | examples/charts/temperaturerecords/doc/temperaturerecords.rst | 10 | ||||
-rw-r--r-- | examples/charts/temperaturerecords/temperaturerecords.py | 60 | ||||
-rw-r--r-- | examples/charts/temperaturerecords/temperaturerecords.pyproject | 3 |
4 files changed, 73 insertions, 0 deletions
diff --git a/examples/charts/temperaturerecords/doc/temperaturerecords.png b/examples/charts/temperaturerecords/doc/temperaturerecords.png Binary files differnew file mode 100644 index 000000000..8d486c552 --- /dev/null +++ b/examples/charts/temperaturerecords/doc/temperaturerecords.png diff --git a/examples/charts/temperaturerecords/doc/temperaturerecords.rst b/examples/charts/temperaturerecords/doc/temperaturerecords.rst new file mode 100644 index 000000000..3b13817fb --- /dev/null +++ b/examples/charts/temperaturerecords/doc/temperaturerecords.rst @@ -0,0 +1,10 @@ +Temperature Records Example +=========================== + +The example shows how to create a bar chart with negative bars. + +For our example we use temperature data. + +.. image:: temperaturerecords.png + :width: 400 + :alt: Temperature Records Screenshot diff --git a/examples/charts/temperaturerecords/temperaturerecords.py b/examples/charts/temperaturerecords/temperaturerecords.py new file mode 100644 index 000000000..358f3818e --- /dev/null +++ b/examples/charts/temperaturerecords/temperaturerecords.py @@ -0,0 +1,60 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the Temperature Records example from Qt v5.x""" + +import sys +from PySide6.QtCore import Qt +from PySide6.QtGui import QPainter +from PySide6.QtWidgets import QMainWindow, QApplication +from PySide6.QtCharts import (QBarCategoryAxis, QBarSet, QChart, QChartView, + QStackedBarSeries, QValueAxis) + + +class MainWindow(QMainWindow): + def __init__(self): + super().__init__() + low = QBarSet("Min") + high = QBarSet("Max") + low.append([-52, -50, -45.3, -37.0, -25.6, -8.0, + -6.0, -11.8, -19.7, -32.8, -43.0, -48.0]) + high.append([11.9, 12.8, 18.5, 26.5, 32.0, 34.8, + 38.2, 34.8, 29.8, 20.4, 15.1, 11.8]) + + series = QStackedBarSeries() + series.append(low) + series.append(high) + + chart = QChart() + chart.addSeries(series) + chart.setTitle("Temperature records in celcius") + chart.setAnimationOptions(QChart.SeriesAnimations) + + categories = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", + "Aug", "Sep", "Oct", "Nov", "Dec"] + axis_x = QBarCategoryAxis() + axis_x.append(categories) + axis_x.setTitleText("Month") + chart.addAxis(axis_x, Qt.AlignBottom) + axis_y = QValueAxis() + axis_y.setRange(-52, 52) + axis_y.setTitleText("Temperature [°C]") + chart.addAxis(axis_y, Qt.AlignLeft) + series.attachAxis(axis_x) + series.attachAxis(axis_y) + + chart.legend().setVisible(True) + chart.legend().setAlignment(Qt.AlignBottom) + + chart_view = QChartView(chart) + chart_view.setRenderHint(QPainter.Antialiasing) + + self.setCentralWidget(chart_view) + + +if __name__ == "__main__": + app = QApplication(sys.argv) + w = MainWindow() + w.resize(600, 300) + w.show() + sys.exit(app.exec()) diff --git a/examples/charts/temperaturerecords/temperaturerecords.pyproject b/examples/charts/temperaturerecords/temperaturerecords.pyproject new file mode 100644 index 000000000..8db39e340 --- /dev/null +++ b/examples/charts/temperaturerecords/temperaturerecords.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["temperaturerecords.py"] +} |