[PYTHON] [PyQt] Mehrachsendiagramme mit QtChart anzeigen

Einführung

Bisher wurde pyqtgraph zum Anzeigen und Erstellen von Diagrammen in Python verwendet. Es scheint jedoch, dass es in den letzten 3 Jahren nicht aktualisiert wurde, daher möchte ich trotzdem zu dem von Qt unterstützten wechseln, also QtChart Ich habe versucht, /qtcharts-index.html) zu verwenden.

Umgebung

Installation

$ pip install PyQt5

$ pip install PyQtChart

Beispiel erstellt

qchart_sample.png

Ich habe etwas geschaffen, bei dem die X-Achse Zeit und die Y-Achse Strom / Spannung ist.

Die Quelle ist wie folgt.

qchart_example.py


import random
import sys

from PyQt5.QtChart import (QChart,
                           QChartView,
                           QLineSeries,
                           QValueAxis,
                           QDateTimeAxis)
from PyQt5.QtCore import (QDateTime,
                          Qt)
from PyQt5.QtGui import QPainter
from PyQt5.QtWidgets import QApplication


app = QApplication(sys.argv)

cur_series = QLineSeries()
vol_series = QLineSeries()
now = QDateTime.currentDateTime()

#Erstellen Sie entsprechende Daten
for i in range(100):
    cur = 5 * random.random()
    vol = 20 * random.random()
    time = now.addSecs(i).toMSecsSinceEpoch()  #Verarbeitung zum Anhängen an QLineSeries
    cur_series.append(time, cur)
    vol_series.append(time, vol)

chart = QChart()
chart.legend().hide()
chart.addSeries(cur_series)
chart.addSeries(vol_series)

#X-Achse erstellen
time_axis_x = QDateTimeAxis()
time_axis_x.setFormat("hh:mm:ss")
chart.addAxis(time_axis_x, Qt.AlignBottom)
cur_series.attachAxis(time_axis_x)
vol_series.attachAxis(time_axis_x)

#Erstellen Sie die Y1-Achse
cur_axis_y = QValueAxis()
cur_axis_y.setTitleText("Current[A]")
cur_axis_y.setLinePenColor(cur_series.pen().color())  #Stellen Sie die Achsen- und Diagrammfarben gleich ein
cur_axis_y.setRange(0, 5)
chart.addAxis(cur_axis_y, Qt.AlignLeft)
cur_series.attachAxis(cur_axis_y)

#Erstellen Sie die Y2-Achse
vol_axis_y = QValueAxis()
vol_axis_y.setTitleText("Voltage[V]")
vol_axis_y.setLinePenColor(vol_series.pen().color())  #Stellen Sie die Achsen- und Diagrammfarben gleich ein
vol_axis_y.setRange(0, 20)
chart.addAxis(vol_axis_y, Qt.AlignRight)
vol_series.attachAxis(vol_axis_y)

cur_vol_chart_view = QChartView()
cur_vol_chart_view.setChart(chart)
cur_vol_chart_view.setRenderHint(QPainter.Antialiasing)  #Um das Diagramm reibungslos anzuzeigen
cur_vol_chart_view.show()

sys.exit(app.exec_())

Referenz-URL

Recommended Posts

[PyQt] Mehrachsendiagramme mit QtChart anzeigen
Zeichnen Sie mit NetworkX ein Diagramm
Zeichnen Sie mit networkx ein Diagramm
Zeichne ein Diagramm mit Julia + PyQtGraph (2)
Zeichnen Sie mit matplotlib ein loses Diagramm
Zeichne ein Diagramm mit Julia + PyQtGraph (1)
Zeichne ein Diagramm mit Julia + PyQtGraph (3)
Zeichnen Sie ein Diagramm mit Pandas + XlsxWriter
Lassen Sie uns ein Diagramm mit Python erstellen! !!
Machen Sie eine schöne Grafik mit Plotly
Zeichnen Sie ein Diagramm mit der PySimple-Benutzeroberfläche
Beispielprogramm zum Anzeigen von Videos mit PyQt
Zeichnen Sie ein Diagramm mit PyQtGraph Part 1-Drawing
Erstellen Sie ein Diagramm mit Rändern, die mit matplotlib entfernt wurden
Erstellen Sie eine Python3-Umgebung mit pyenv auf einem Mac und zeigen Sie NetworkX-Diagramme an
Zeichnen Sie eine flache Oberfläche mit einem Matplotlib-3D-Diagramm
Zeichnen Sie in Jupyter ein Diagramm mit japanischen Beschriftungen
So zeichnen Sie ein 2-Achsen-Diagramm mit Pyplot
Ich habe eine GUI-App mit Python + PyQt5 erstellt
Memo, mit dem ein Diagramm zum Plotten animiert wurde
Zeichnen Sie ein Diagramm mit den PyQtGraph Part 3-PlotWidget-Einstellungen
Zeichnen Sie ein Diagramm, indem Sie es mit Pandas groupby verarbeiten
[Python] Zeichnen Sie mit Dash Cytoscape ein gerichtetes Diagramm
Einfache Anzeige des Liniendiagramms auf dem Jupyter Notebook
Zeichnen Sie ein Diagramm mit den Einstellungen von PyQtGraph Part 4-PlotItem
Zeichnen Sie ein Diagramm mit PyQtGraph Teil 6 - Anzeigen einer Legende
Ich habe mit Numpy eine Grafik mit Zufallszahlen erstellt
[Siehe nicht 04.02.17] Zeigen Sie den Temperatursensor in Echtzeit in einem Diagramm mit Himbeer-Pi 3 an
Zeichnen Sie mit PyQtGraph Teil 5 ein Diagramm. Erhöhen Sie die Y-Achse
[Python] Wie zeichnet man mit Matplotlib ein Liniendiagramm?
Visualisieren Sie mit Cytoscape 2 Eisenbahnstreckendaten als Grafik
Erstellen Sie mit PyQt5 und PyQtGraph einen 3D-Modell-Viewer
Zeichnen Sie ein Diagramm mit PyQtGraph Teil 2 - Detaillierte Ploteinstellungen
Zeigen Sie das Diagramm an, während Sie die Parameter mit PySimpleGUI + Matplotlib ändern
A4 Größe mit Python-Pptx
Banddiagramm mit Matplotlib
Taskleistenanzeige mit tqdm
Mit Dekorateur dekorieren
Mathematik mit Python studieren: Zeichnen Sie mit matplotlib ein Sympy-Diagramm (Scipy-Diagramm)
Versuchen Sie, ein Unterfenster mit PyQt5 und Python zu öffnen
So zeigen Sie eine Liste der mit pyenv installierbaren Versionen an
[Visualisierung] Ich möchte mit Plotly ein schönes Diagramm zeichnen
Webseite mit FastAPI + uvicorn + Nginx anzeigen (SSL / HTTPS-Konvertierung)