41 lines
1.1 KiB
Python
41 lines
1.1 KiB
Python
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)
|