Zweite x- Achse zu pyqtgraph.PlotWidget() hinzufügen
Verfasst: Sonntag 24. September 2023, 14:02
Hallo liebe Leute,
ich hätte eine frage:
Wie kann ich eine zweite x-Achse hinzufügen?
Was ich eigentlich machen/haben will ist, ich lese Daten über einen Seriellen Port ein. Die Daten sind mehrere Messwerte (samples) von verschiedenen Zeitpunkt und diese will ich in einem Plot darstellen. Bedeutet z.B.: y-Achse = Amplitude; x1-Achse: Frequenzen (also Mehrere); x2-Achse: Datum/Uhrzeit.
Prinzipiell will ich die FFT von mehreren Messungen zu unterschiedlichen Zeitpunkten in einem Plot darstellen
Ich messe alle 15min meinen Stromsignal, davon dann die FFT (z.B.:256 Samples) und diese Daten sende ich an den PC und will sie mittels Python/pyqt5 in einem Plot darstellen.
Hoffe man versteht was ich machen will.
Daher war meine Idee eine zweite x-Achse hinzuzufügen.
Hier mein Code für einen normalen Plot, wie bekomme ich da eine zweite Achse mit dem Datum-Uhrzeit hinzu, immer wenn die Messung nicht mehr vom selben Zeitpunkt ist.
Vermutlich muss ich die Ticks bei der x2 Achse dann auch entsprechend anpassen.
Währe sehr dankbar wenn mir jemand helfen könnte.
Schönen Sonntag noch
Lg
ich hätte eine frage:
Wie kann ich eine zweite x-Achse hinzufügen?
Was ich eigentlich machen/haben will ist, ich lese Daten über einen Seriellen Port ein. Die Daten sind mehrere Messwerte (samples) von verschiedenen Zeitpunkt und diese will ich in einem Plot darstellen. Bedeutet z.B.: y-Achse = Amplitude; x1-Achse: Frequenzen (also Mehrere); x2-Achse: Datum/Uhrzeit.
Prinzipiell will ich die FFT von mehreren Messungen zu unterschiedlichen Zeitpunkten in einem Plot darstellen
Ich messe alle 15min meinen Stromsignal, davon dann die FFT (z.B.:256 Samples) und diese Daten sende ich an den PC und will sie mittels Python/pyqt5 in einem Plot darstellen.
Hoffe man versteht was ich machen will.
Daher war meine Idee eine zweite x-Achse hinzuzufügen.
Hier mein Code für einen normalen Plot, wie bekomme ich da eine zweite Achse mit dem Datum-Uhrzeit hinzu, immer wenn die Messung nicht mehr vom selben Zeitpunkt ist.
Vermutlich muss ich die Ticks bei der x2 Achse dann auch entsprechend anpassen.
Code: Alles auswählen
class NewWindow5(QMainWindow):
def __init__(self, plot5_data1, plot5_data2, dominant_frequency):
super().__init__()
self.setGeometry(100, 100, 1500, 900)
self.setWindowTitle("FFT Computed magnitudes")
hlay = QGridLayout(self)
self.graphWidget = pg.PlotWidget()
widget = QWidget()
widget.setLayout(hlay)
self.setCentralWidget(widget)
self.bar_graph_item = pg.BarGraphItem(x=plot5_data2, height=plot5_data1, width=0.0)
self.graphWidget.addItem(self.bar_graph_item)
pos_x = max(plot5_data1)
pos_y = 0
text_df = "Dominant Frequency: " + dominant_frequency
text = pg.TextItem(text_df, anchor=(0.5, 0.5))
text.setPos(pos_y, pos_x) # Position des Textes im Plot
text.setFont(pg.QtGui.QFont("Arial", 10, pg.QtGui.QFont.Bold)) # Textformatierung
# text.setFlag(text.GraphicsItemFlag.ItemIgnoresTransformations)
self.graphWidget.addItem(text)
hlay.addWidget(self.graphWidget, 0, 0)
Schönen Sonntag noch
Lg