diff --git a/artiq/applets/plot_hist.py b/artiq/applets/plot_hist.py index dc46997b9..71f227ac3 100755 --- a/artiq/applets/plot_hist.py +++ b/artiq/applets/plot_hist.py @@ -1,6 +1,7 @@ #!/usr/bin/env python3 -import PyQt5 # make sure pyqtgraph imports Qt5 +import PyQt5 # make sure pyqtgraph imports Qt5 +from PyQt5.QtCore import QTimer import pyqtgraph from artiq.applets.simple import TitleApplet @@ -10,6 +11,9 @@ class HistogramPlot(pyqtgraph.PlotWidget): def __init__(self, args): pyqtgraph.PlotWidget.__init__(self) self.args = args + self.timer = QTimer() + self.timer.setSingleShot(True) + self.timer.timeout.connect(self.length_warning) def data_changed(self, data, mods, title): try: @@ -24,10 +28,19 @@ class HistogramPlot(pyqtgraph.PlotWidget): x = list(range(len(y)+1)) if len(y) and len(x) == len(y) + 1: + self.timer.stop() self.clear() self.plot(x, y, stepMode=True, fillLevel=0, brush=(0, 0, 255, 150)) self.setTitle(title) + else: + self.timer.start(1000) + + def length_warning(self): + self.clear() + text = "⚠️ dataset lengths mismatch:\n"\ + "There should be one more bin boundaries than there are Y values" + self.addItem(pyqtgraph.TextItem(text)) def main():