From bf72f90009d3e3f4411ce82b14e2209e175a59af Mon Sep 17 00:00:00 2001 From: wendtalexander Date: Fri, 4 Oct 2024 15:32:16 +0200 Subject: [PATCH] [ui/plots] moving continous plot outside --- pyrelacs/ui/plots/continously.py | 40 ++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 pyrelacs/ui/plots/continously.py diff --git a/pyrelacs/ui/plots/continously.py b/pyrelacs/ui/plots/continously.py new file mode 100644 index 0000000..07fe991 --- /dev/null +++ b/pyrelacs/ui/plots/continously.py @@ -0,0 +1,40 @@ +import pyqtgraph as pg + +from PyQt6.QtCore import QTimer +from pyrelacs.dataio.circbuffer import CircBuffer +from pyrelacs.util.logging import config_logging + +log = config_logging() + + +class Continously: + def __init__(self, figure: pg.GraphicsLayoutWidget, buffer: CircBuffer): + self.figure = figure + self.buffer = buffer + + def plot_daq(self, *args, **kwargs): + self.figure.setBackground("w") + self.daq_plot = self.figure.addPlot(row=0, col=0) + self.time = list(range(10)) + pen = pg.mkPen("red") + self.data = list(range(10)) + self.line = self.daq_plot.plot(self.time, self.data, pen=pen) + + self.item = 0 + self.timer = QTimer() + self.timer.setInterval(1) + self.timer.timeout.connect(self.update_plot) + self.timer.start() + + def update_plot(self): + if self.buffer.totalcount() > 100: + if self.buffer.write_index() > self.item: + self.time = self.time[1:] + self.time.append(self.time[-1] + 1) + self.data = self.data[1:] + item = self.buffer.get(self.item) + self.data.append(item) + self.line.setData(self.time, self.data) + self.item += 1 + else: + pass