import pyqtgraph as pg from PyQt6.QtWidgets import QWidget class Plot(pg.PlotWidget): """ pyqtgraph plot widget for showing voltage and LED vs time """ def __init__(self): super().__init__() self.setBackground("w") self.setTitle("Test") self.setLabel("bottom", "time [s]") self.setLabel("left", "Voltage [V]") self.setLabel("right", "LED [%]") self.getAxis("right").setRange(0, 110) # Adding some margin self.showGrid(x=True, y=True) self.time = [] self.voltage = [] self.led = [] self.vline = self.plot( self.time, self.voltage, pen=pg.mkPen("b", width=2), symbol="o", symbolSize=5, symbolBrush="b", ) self.lline = self.plot( self.time, self.led, pen=pg.mkPen("r", width=2) ) def update(self, time, voltage, led): self.time.append(time) self.voltage.append(voltage) self.led.append(led) self.vline.setData(self.time, self.voltage) self.lline.setData(self.time, self.led)