def _make_widget(self):
"""
Sets the widget (here a QCheckbox)
:return:
"""
self.widget = pg.GraphicsWindow(title="Plot")
legend = getattr(self.module.__class__, self.attribute_name).legend
self.pw = self.widget.addPlot(title="%s vs. time (s)"%legend)
self.plot_start_time = self.time()
self.curves = {}
setattr(self.module.__class__, '_' + self.attribute_name + '_pw', self.pw)
python类GraphicsWindow()的实例源码
def newPlot(self,x,y,**args):
self.plot_ext = pg.GraphicsWindow(title=args.get('title',''))
self.curve_ext = self.plot_ext.addPlot(title=args.get('title',''), x=x,y=y,connect='finite')
self.curve_ext.setLabel('bottom',args.get('xLabel',''))
self.curve_ext.setLabel('left',args.get('yLabel',''))
def __init__(self, func):
self.func = func
app = pg.mkQApp()
self.win = pg.GraphicsWindow(title="Bar learning")
self.win.resize(800,800)
self.win.addLabel("Input")
self.win.addLabel("Feature")
self.win.nextRow()
box = self.win.addViewBox(lockAspect=True)
self.input_vis = pg.ImageItem()
box.addItem(self.input_vis)
box = self.win.addViewBox(lockAspect=True)
self.feature_vis = pg.ImageItem()
box.addItem(self.feature_vis)
self.win.nextRow()
self.win.addLabel("Receptive fields", colspan=2)
self.win.nextRow()
box = self.win.addViewBox(lockAspect=True, colspan=2)
self.rv_vis = pg.ImageItem()
box.addItem(self.rv_vis)
self.win.show()
def __init__(self, title=None, size=(800, 600)):
"""
Constructor.
"""
pg.GraphicsWindow.__init__(self, title=title, size=size)
self.updater = {}
def __init__(self, title=None, size=(800, 600)):
"""
Constructor.
"""
pg.GraphicsWindow.__init__(self, title=title, size=size)
self.updater = {}
def init_gui(self):
"""
Sets up the gui.
"""
self.ch_col = ('magenta', 'blue', 'green')
self.last_data = None
self.init_main_layout(orientation="vertical")
#self.main_layout = QtWidgets.QVBoxLayout()
self.module.__dict__['curve_name'] = 'pyrpl spectrum'
self.init_attribute_layout()
self.other_widget = OtherAttributesWidget(self)
self.attribute_layout.addWidget(self.other_widget)
self.iqmode_widget = IqModeAttributesWidget(self)
self.attribute_layout.addWidget(self.iqmode_widget)
self.baseband_widget = BasebandAttributesWidget(self)
self.attribute_layout.addWidget(self.baseband_widget)
self.button_layout = QtWidgets.QHBoxLayout()
self.setLayout(self.main_layout)
# self.setWindowTitle("Spec. An.")
#self.win = pg.GraphicsWindow(title="PSD")
#self.main_layout.addWidget(self.win)
self.win2 = DataWidget(title='Spectrum')
self.main_layout.addWidget(self.win2)
#self.plot_item = self.win.addPlot(title="PSD")
#self.curve = self.plot_item.plot(pen=self.ch_col[0][0])
#self.curve2 = self.plot_item.plot(pen=self.ch_col[1][0]) # input2
# spectrum in
# baseband
#self.curve_cross = self.plot_item.plot(pen=self.ch_col[2][0]) #
# curve for
super(SpecAnWidget, self).init_gui()
aws = self.attribute_widgets
aws['display_input1_baseband'].setStyleSheet("color: %s" %
self.ch_col[0])
aws['display_input2_baseband'].setStyleSheet("color: %s" %
self.ch_col[1])
aws['display_cross_amplitude'].setStyleSheet("color: %s" %
self.ch_col[2])
# Not sure why the stretch factors in button_layout are not good by
# default...
self.attribute_layout.addStretch(1)
self.update_baseband_visibility()
def _make_widget(self):
self.widget = pg.GraphicsWindow(title="Curve")
self.plot_item = self.widget.addPlot(title="Curve")
self.plot_item_phase = self.widget.addPlot(row=1, col=0, title="Phase (deg)")
self.plot_item_phase.setXLink(self.plot_item)
self.plot_item.showGrid(y=True, alpha=1.)
self.plot_item_phase.showGrid(y=True, alpha=1.)
self.curve = self.plot_item.plot(pen='g')
self.curve_phase = self.plot_item_phase.plot(pen='g')
self._is_real = True
self._set_real(True)
#def _set_widget_value(self, new_value):
# data = new_value
# if data is None:
# return
# shape = np.shape(new_value)
# if len(shape)>2:
# raise ValueError("Shape of data should be (1) or (2, 1)")
# if len(shape)==1:
# x = np.linspace(0, len(data), len(data))
# y = [data]
# if len(shape)==2:
# if shape[0] == 1:
# x = np.linspace(0, len(data), len(data[0]))
# y = [data[0]]
# if shape[0] >= 2:
# x = data[0]
# y = data[1:]
# self._set_real(np.isreal(y).all())
# for i, values in enumerate(y):
# self._display_curve_index(x, values, i)
# while (i + 1 < len(self.curves)): # delete remaining curves
# i += 1
# self.curves[i].hide()
#def _display_curve_index(self, x, values, i):
# y_mag = values if self._is_real else self._magnitude(values)
# y_phase = np.zeros(len(values)) if self._is_real else \
# self._phase(values)
# if len(self.curves)<=i:
# color = self._defaultcolors[i%len(self._defaultcolors)]
# self.curves.append(self.plot_item.plot(pen=color))
# self.curves_phase.append(self.plot_item_phase.plot(pen=color))
# self.curves[i].setData(x, y_mag)
# self.curves_phase[i].setData(x, y_phase)