Created
May 17, 2022 03:38
-
-
Save jpeg-souza/9e2cbf2564f6a4922c3855f66fe368c5 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from PyQt6 import QtCore, QtGui, QtWidgets | |
from PyQt6.QtCharts import QChart, QChartView, QLineSeries, QValueAxis | |
import sys | |
class Ui_MainWindow(QtWidgets.QMainWindow): | |
def __init__(self): | |
super().__init__() | |
self.setWindowTitle("Trouble LineChart") | |
self.setGeometry(100,100, 680,500) | |
self.array_medias = [28.284563290387887, 28.170853249077403, 28.776281519708895, 29.041099232443074, 29.232627358676552] | |
self.array_maximas = [33.4762780011805, 33.4762780011805, 33.61541095358507, 33.929353828043304, 33.929353828043304] | |
self.array_minimas = [20.46583000704794, 20.288281209883735, 20.772403295556217, 21.20685421472882, 21.625995561649745] | |
self.show() | |
self.loadChart() | |
def loadChart(self): | |
self.series_media = QLineSeries() | |
self.series_maxima = QLineSeries() | |
self.series_minima = QLineSeries() | |
self.loadSerie_media() | |
self.loadSerie_maxima() | |
self.loadSerie_minima() | |
y_axis = QValueAxis() | |
y_axis.setRange(24.0, 40.0) | |
y_axis.setLabelFormat("%0.1f") | |
y_axis.setTickType(QValueAxis.TickType.TicksDynamic) | |
y_axis.setTickInterval(0.5) | |
y_axis.setTitleText("Temperaturas") | |
x_axis = QValueAxis() | |
x_axis.setRange(1, len(self.array_medias)) | |
x_axis.setLabelFormat("%d") | |
y_axis.setTickType(QValueAxis.TickType.TicksDynamic) | |
y_axis.setTickInterval(1) | |
x_axis.setTitleText("Exames") | |
chart = QChart() | |
chart.addAxis(x_axis, QtCore.Qt.AlignmentFlag.AlignBottom) | |
chart.addAxis(y_axis, QtCore.Qt.AlignmentFlag.AlignLeft) | |
chart.legend().setVisible(True) | |
chart.addSeries(self.series_media) | |
chart.addSeries(self.series_maxima) | |
chart.addSeries(self.series_minima) | |
#chart.createDefaultAxes() | |
self.chartView = QChartView(chart) | |
self.chartView.setGeometry(QtCore.QRect(100, 100, 680, 500)) | |
self.chartView.setRenderHint(QtGui.QPainter.RenderHint.Antialiasing) | |
self.setCentralWidget(self.chartView) | |
def loadSerie_media(self): | |
for index, element in enumerate(self.array_medias): | |
image_num = index + 1 | |
self.series_media.append(image_num, element) | |
self.series_media.setName('Temperatura Média') | |
def loadSerie_maxima(self): | |
for index, element in enumerate(self.array_maximas): | |
image_num = index + 1 | |
self.series_maxima.append(image_num, element) | |
self.series_maxima.setName('Temperatura Máxima') | |
def loadSerie_minima(self): | |
for index, element in enumerate(self.array_minimas): | |
image_num = index + 1 | |
self.series_minima.append(image_num, element) | |
self.series_minima.setName('Temperatura Minima') | |
App = QtWidgets.QApplication(sys.argv) | |
window = Ui_MainWindow() | |
sys.exit(App.exec()) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment