mirror of https://github.com/m-labs/artiq.git
applets: support title for histogram and XY. Closes #376
This commit is contained in:
parent
485f82b53b
commit
356afb045c
|
@ -4,7 +4,7 @@ import numpy as np
|
||||||
import PyQt5 # make sure pyqtgraph imports Qt5
|
import PyQt5 # make sure pyqtgraph imports Qt5
|
||||||
import pyqtgraph
|
import pyqtgraph
|
||||||
|
|
||||||
from artiq.applets.simple import SimpleApplet
|
from artiq.applets.simple import TitleApplet
|
||||||
|
|
||||||
|
|
||||||
class HistogramPlot(pyqtgraph.PlotWidget):
|
class HistogramPlot(pyqtgraph.PlotWidget):
|
||||||
|
@ -12,7 +12,7 @@ class HistogramPlot(pyqtgraph.PlotWidget):
|
||||||
pyqtgraph.PlotWidget.__init__(self)
|
pyqtgraph.PlotWidget.__init__(self)
|
||||||
self.args = args
|
self.args = args
|
||||||
|
|
||||||
def data_changed(self, data, mods):
|
def data_changed(self, data, mods, title):
|
||||||
try:
|
try:
|
||||||
y = data[self.args.y][1]
|
y = data[self.args.y][1]
|
||||||
if self.args.x is None:
|
if self.args.x is None:
|
||||||
|
@ -28,10 +28,11 @@ class HistogramPlot(pyqtgraph.PlotWidget):
|
||||||
self.clear()
|
self.clear()
|
||||||
self.plot(x, y, stepMode=True, fillLevel=0,
|
self.plot(x, y, stepMode=True, fillLevel=0,
|
||||||
brush=(0, 0, 255, 150))
|
brush=(0, 0, 255, 150))
|
||||||
|
self.setTitle(title)
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
applet = SimpleApplet(HistogramPlot)
|
applet = TitleApplet(HistogramPlot)
|
||||||
applet.add_dataset("y", "Y values")
|
applet.add_dataset("y", "Y values")
|
||||||
applet.add_dataset("x", "Bin boundaries", required=False)
|
applet.add_dataset("x", "Bin boundaries", required=False)
|
||||||
applet.run()
|
applet.run()
|
||||||
|
|
|
@ -4,7 +4,7 @@ import numpy as np
|
||||||
import PyQt5 # make sure pyqtgraph imports Qt5
|
import PyQt5 # make sure pyqtgraph imports Qt5
|
||||||
import pyqtgraph
|
import pyqtgraph
|
||||||
|
|
||||||
from artiq.applets.simple import SimpleApplet
|
from artiq.applets.simple import TitleApplet
|
||||||
|
|
||||||
|
|
||||||
class XYPlot(pyqtgraph.PlotWidget):
|
class XYPlot(pyqtgraph.PlotWidget):
|
||||||
|
@ -12,7 +12,7 @@ class XYPlot(pyqtgraph.PlotWidget):
|
||||||
pyqtgraph.PlotWidget.__init__(self)
|
pyqtgraph.PlotWidget.__init__(self)
|
||||||
self.args = args
|
self.args = args
|
||||||
|
|
||||||
def data_changed(self, data, mods):
|
def data_changed(self, data, mods, title):
|
||||||
try:
|
try:
|
||||||
y = data[self.args.y][1]
|
y = data[self.args.y][1]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
|
@ -38,6 +38,7 @@ class XYPlot(pyqtgraph.PlotWidget):
|
||||||
|
|
||||||
self.clear()
|
self.clear()
|
||||||
self.plot(x, y, pen=None, symbol="x")
|
self.plot(x, y, pen=None, symbol="x")
|
||||||
|
self.setTitle(title)
|
||||||
if error is not None:
|
if error is not None:
|
||||||
# See https://github.com/pyqtgraph/pyqtgraph/issues/211
|
# See https://github.com/pyqtgraph/pyqtgraph/issues/211
|
||||||
if hasattr(error, "__len__") and not isinstance(error, np.ndarray):
|
if hasattr(error, "__len__") and not isinstance(error, np.ndarray):
|
||||||
|
@ -49,7 +50,7 @@ class XYPlot(pyqtgraph.PlotWidget):
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
applet = SimpleApplet(XYPlot)
|
applet = TitleApplet(XYPlot)
|
||||||
applet.add_dataset("y", "Y values")
|
applet.add_dataset("y", "Y values")
|
||||||
applet.add_dataset("x", "X values", required=False)
|
applet.add_dataset("x", "X values", required=False)
|
||||||
applet.add_dataset("error", "Error bars for each X value", required=False)
|
applet.add_dataset("error", "Error bars for each X value", required=False)
|
||||||
|
|
Loading…
Reference in New Issue