Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@jpeg-souza
Created May 17, 2022 03:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jpeg-souza/9e2cbf2564f6a4922c3855f66fe368c5 to your computer and use it in GitHub Desktop.
Save jpeg-souza/9e2cbf2564f6a4922c3855f66fe368c5 to your computer and use it in GitHub Desktop.
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