Python pyqtgraph.PlotWidget() Examples
The following are 30
code examples of pyqtgraph.PlotWidget().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
pyqtgraph
, or try the search function
.
Example #1
Source File: demoUi.py From chanlun with MIT License | 6 votes |
def initplotKline(self): """Kline""" self.pw2 = pg.PlotWidget(name='Plot2') # K线图 self.vbl_2.addWidget(self.pw2) self.pw2.setDownsampling(mode='peak') self.pw2.setClipToView(True) self.curve5 = self.pw2.plot() self.curve6 = self.pw2.plot() self.candle = self.CandlestickItem(self.listBar) self.pw2.addItem(self.candle) ## Draw an arrowhead next to the text box # self.arrow = pg.ArrowItem() # self.pw2.addItem(self.arrow) #----------------------------------------------------------------------
Example #2
Source File: gnuradio_protocol.py From OpenNFB with GNU General Public License v3.0 | 6 votes |
def init(self, history=512, autoscale=True): self.widget = pg.PlotWidget() self.widget.block = self self.gr_block.set_history(history) self.plot = self.widget.plot() self.plot.setPen(QtGui.QColor(self.input.color)) #self.widget.setYRange(*self.yrange) self.widget.enableAutoRange('y', 0.95 if autoscale else False) self.buffer = [] self.timer = QtCore.QTimer() self.timer.timeout.connect(self.updateGUI) self.timer.start(100)
Example #3
Source File: widgets.py From pymeasure with MIT License | 6 votes |
def _setup_ui(self): self.setAutoFillBackground(False) self.setStyleSheet("background: #fff") self.setFrameShape(QtGui.QFrame.StyledPanel) self.setFrameShadow(QtGui.QFrame.Sunken) self.setMidLineWidth(1) vbox = QtGui.QVBoxLayout(self) self.plot_widget = pg.PlotWidget(self, background='#ffffff') self.coordinates = QtGui.QLabel(self) self.coordinates.setMinimumSize(QtCore.QSize(0, 20)) self.coordinates.setStyleSheet("background: #fff") self.coordinates.setText("") self.coordinates.setAlignment( QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) vbox.addWidget(self.plot_widget) vbox.addWidget(self.coordinates) self.setLayout(vbox) self.plot = self.plot_widget.getPlotItem() self.crosshairs = Crosshairs(self.plot, pen=pg.mkPen(color='#AAAAAA', style=QtCore.Qt.DashLine)) self.crosshairs.coordinates.connect(self.update_coordinates) self.timer = QtCore.QTimer() self.timer.timeout.connect(self.update_curves) self.timer.timeout.connect(self.crosshairs.update) self.timer.timeout.connect(self.updated) self.timer.start(int(self.refresh_time * 1e3))
Example #4
Source File: display.py From OpenNFB with GNU General Public License v3.0 | 6 votes |
def init(self, name, input): self.plot = pg.PlotWidget(title=name) self.plot.block = self self.plot.setLabel('bottom', 'Frequency', units='Hz') self.bars = pg.BarGraphItem() self.setup_range() # TODO: Better autoranging features #self.plot.enableAutoRange('xy', False) self.plot.setYRange(0, self.yrange) self.input = input self.name = name
Example #5
Source File: fundtab.py From equant with GNU General Public License v2.0 | 6 votes |
def initUI(self): self.pw = pg.PlotWidget() self.layout = pg.GraphicsLayout(border=(100, 100, 100)) self.layout.setContentsMargins(0, 0, 0, 0) self.layout.setSpacing(0) self.layout.setBorder(color=(255, 255, 255, 255), width=0.8) self.layout.setZValue(0) self.layout.setMinimumHeight(140) self.pw.setCentralWidget(self.layout) # 设置横坐标 xdict = {} self.axisTime = MyStringAxis(xdict, orientation='bottom') # 初始化资金曲线 self.initPlotFund() # 十字光标 self.crosshair = Crosshair(self.pw, self) self.vbox = QtWidgets.QVBoxLayout() self.vbox.addWidget(self.pw) self.setLayout(self.vbox) self.initCompleted = True self.oldSize = self.rect().height()
Example #6
Source File: graphtab.py From equant with GNU General Public License v2.0 | 6 votes |
def initUI(self): self.pw = pg.PlotWidget() self.layout = pg.GraphicsLayout(border=(10, 10, 10)) self.layout.setContentsMargins(0, 0, 0, 0) self.layout.setSpacing(0) self.layout.setBorder(color=(255, 255, 255, 255), width=0.8) self.layout.setZValue(0) self.layout.setMinimumHeight(140) self.pw.setCentralWidget(self.layout) # 设置横坐标 xdict = {} self.axisTime = MyStringAxis(xdict, orientation='bottom') # 初始化资金曲线 self.initPlotGraph() # 十字光标 self.crosshair = GCrosshair(self.pw, self) self.vbox = QVBoxLayout() self.vbox.addWidget(self.pw) self.setLayout(self.vbox) self.initCompleted = True self.oldSize = self.rect().height()
Example #7
Source File: test_ref_cycles.py From soapy with GNU General Public License v3.0 | 6 votes |
def test_PlotWidget(): def mkobjs(*args, **kwds): w = pg.PlotWidget(*args, **kwds) data = pg.np.array([1,5,2,4,3]) c = w.plot(data, name='stuff') w.addLegend() # test that connections do not keep objects alive w.plotItem.vb.sigRangeChanged.connect(mkrefs) app.focusChanged.connect(w.plotItem.vb.invertY) # return weakrefs to a bunch of objects that should die when the scope exits. return mkrefs(w, c, data, w.plotItem, w.plotItem.vb, w.plotItem.getMenu(), w.plotItem.getAxis('left')) for i in range(5): assert_alldead(mkobjs())
Example #8
Source File: display.py From OpenNFB with GNU General Public License v3.0 | 6 votes |
def init(self, history=512, autoscale=True): self.widget = pg.PlotWidget() self.widget.block = self self.gr_block.set_history(history) self.plot = self.widget.plot() self.plot.setPen(QtGui.QColor(self.input.color)) #self.widget.setYRange(*self.yrange) self.widget.enableAutoRange('y', 0.95 if autoscale else False) self.buffer = [] self.timer = pg.QtCore.QTimer() self.timer.timeout.connect(self.updateGUI) self.timer.start(100)
Example #9
Source File: test_GraphicsItem.py From soapy with GNU General Public License v3.0 | 6 votes |
def test_getViewWidget_deleted(): view = pg.PlotWidget() item = pg.InfiniteLine() view.addItem(item) assert item.getViewWidget() is view # Arrange to have Qt automatically delete the view widget obj = pg.QtGui.QWidget() view.setParent(obj) del obj gc.collect() assert not pg.Qt.isQObjectAlive(view) assert item.getViewWidget() is None #if __name__ == '__main__': #view = pg.PlotItem() #vref = weakref.ref(view) #item = pg.InfiniteLine() #view.addItem(item) #del view #gc.collect()
Example #10
Source File: charts.py From Quantdom with Apache License 2.0 | 6 votes |
def __init__(self): super().__init__() self.xaxis = DateAxis(orientation='bottom') self.xaxis.setStyle(tickTextOffset=7, textFillLimits=[(0, 0.80)]) self.yaxis = PriceAxis() self.layout = QtGui.QVBoxLayout(self) self.layout.setContentsMargins(0, 0, 0, 0) self.chart = pg.PlotWidget( axisItems={'bottom': self.xaxis, 'right': self.yaxis}, enableMenu=False, ) self.chart.setFrameStyle(QtGui.QFrame.StyledPanel | QtGui.QFrame.Plain) self.chart.getPlotItem().setContentsMargins(*CHART_MARGINS) self.chart.showGrid(x=True, y=True) self.chart.hideAxis('left') self.chart.showAxis('right') self.chart.setCursor(QtCore.Qt.BlankCursor) self.chart.sigXRangeChanged.connect(self._update_yrange_limits) self.layout.addWidget(self.chart)
Example #11
Source File: multiplePlotSpeedTest.py From qgisSpaceSyntaxToolkit with GNU General Public License v3.0 | 6 votes |
def plot(): start = pg.ptime.time() n = 15 pts = 100 x = np.linspace(0, 0.8, pts) y = np.random.random(size=pts)*0.8 for i in range(n): for j in range(n): ## calling PlotWidget.plot() generates a PlotDataItem, which ## has a bit more overhead than PlotCurveItem, which is all ## we need here. This overhead adds up quickly and makes a big ## difference in speed. #plt.plot(x=x+i, y=y+j) plt.addItem(pg.PlotCurveItem(x=x+i, y=y+j)) #path = pg.arrayToQPath(x+i, y+j) #item = QtGui.QGraphicsPathItem(path) #item.setPen(pg.mkPen('w')) #plt.addItem(item) dt = pg.ptime.time() - start print("Create plots took: %0.3fms" % (dt*1000)) ## Plot and clear 5 times, printing the time it took
Example #12
Source File: test_ref_cycles.py From tf-pose with Apache License 2.0 | 6 votes |
def test_PlotWidget(): def mkobjs(*args, **kwds): w = pg.PlotWidget(*args, **kwds) data = pg.np.array([1,5,2,4,3]) c = w.plot(data, name='stuff') w.addLegend() # test that connections do not keep objects alive w.plotItem.vb.sigRangeChanged.connect(mkrefs) app.focusChanged.connect(w.plotItem.vb.invertY) # return weakrefs to a bunch of objects that should die when the scope exits. return mkrefs(w, c, data, w.plotItem, w.plotItem.vb, w.plotItem.getMenu(), w.plotItem.getAxis('left')) for i in range(5): assert_alldead(mkobjs())
Example #13
Source File: ScatterPlotSpeedTestTemplate_pyside.py From tf-pose with Apache License 2.0 | 6 votes |
def setupUi(self, Form): Form.setObjectName("Form") Form.resize(400, 300) self.gridLayout = QtGui.QGridLayout(Form) self.gridLayout.setObjectName("gridLayout") self.sizeSpin = QtGui.QSpinBox(Form) self.sizeSpin.setProperty("value", 10) self.sizeSpin.setObjectName("sizeSpin") self.gridLayout.addWidget(self.sizeSpin, 1, 1, 1, 1) self.pixelModeCheck = QtGui.QCheckBox(Form) self.pixelModeCheck.setObjectName("pixelModeCheck") self.gridLayout.addWidget(self.pixelModeCheck, 1, 3, 1, 1) self.label = QtGui.QLabel(Form) self.label.setObjectName("label") self.gridLayout.addWidget(self.label, 1, 0, 1, 1) self.plot = PlotWidget(Form) self.plot.setObjectName("plot") self.gridLayout.addWidget(self.plot, 0, 0, 1, 4) self.randCheck = QtGui.QCheckBox(Form) self.randCheck.setObjectName("randCheck") self.gridLayout.addWidget(self.randCheck, 1, 2, 1, 1) self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form)
Example #14
Source File: ScatterPlotSpeedTestTemplate_pyqt.py From qgisSpaceSyntaxToolkit with GNU General Public License v3.0 | 6 votes |
def setupUi(self, Form): Form.setObjectName(_fromUtf8("Form")) Form.resize(400, 300) self.gridLayout = QtGui.QGridLayout(Form) self.gridLayout.setObjectName(_fromUtf8("gridLayout")) self.sizeSpin = QtGui.QSpinBox(Form) self.sizeSpin.setProperty("value", 10) self.sizeSpin.setObjectName(_fromUtf8("sizeSpin")) self.gridLayout.addWidget(self.sizeSpin, 1, 1, 1, 1) self.pixelModeCheck = QtGui.QCheckBox(Form) self.pixelModeCheck.setObjectName(_fromUtf8("pixelModeCheck")) self.gridLayout.addWidget(self.pixelModeCheck, 1, 3, 1, 1) self.label = QtGui.QLabel(Form) self.label.setObjectName(_fromUtf8("label")) self.gridLayout.addWidget(self.label, 1, 0, 1, 1) self.plot = PlotWidget(Form) self.plot.setObjectName(_fromUtf8("plot")) self.gridLayout.addWidget(self.plot, 0, 0, 1, 4) self.randCheck = QtGui.QCheckBox(Form) self.randCheck.setObjectName(_fromUtf8("randCheck")) self.gridLayout.addWidget(self.randCheck, 1, 2, 1, 1) self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form)
Example #15
Source File: ScatterPlotSpeedTestTemplate_pyside.py From qgisSpaceSyntaxToolkit with GNU General Public License v3.0 | 6 votes |
def setupUi(self, Form): Form.setObjectName("Form") Form.resize(400, 300) self.gridLayout = QtGui.QGridLayout(Form) self.gridLayout.setObjectName("gridLayout") self.sizeSpin = QtGui.QSpinBox(Form) self.sizeSpin.setProperty("value", 10) self.sizeSpin.setObjectName("sizeSpin") self.gridLayout.addWidget(self.sizeSpin, 1, 1, 1, 1) self.pixelModeCheck = QtGui.QCheckBox(Form) self.pixelModeCheck.setObjectName("pixelModeCheck") self.gridLayout.addWidget(self.pixelModeCheck, 1, 3, 1, 1) self.label = QtGui.QLabel(Form) self.label.setObjectName("label") self.gridLayout.addWidget(self.label, 1, 0, 1, 1) self.plot = PlotWidget(Form) self.plot.setObjectName("plot") self.gridLayout.addWidget(self.plot, 0, 0, 1, 4) self.randCheck = QtGui.QCheckBox(Form) self.randCheck.setObjectName("randCheck") self.gridLayout.addWidget(self.randCheck, 1, 2, 1, 1) self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form)
Example #16
Source File: test_ref_cycles.py From qgisSpaceSyntaxToolkit with GNU General Public License v3.0 | 6 votes |
def test_PlotWidget(): def mkobjs(*args, **kwds): w = pg.PlotWidget(*args, **kwds) data = pg.np.array([1,5,2,4,3]) c = w.plot(data, name='stuff') w.addLegend() # test that connections do not keep objects alive w.plotItem.vb.sigRangeChanged.connect(mkrefs) app.focusChanged.connect(w.plotItem.vb.invertY) # return weakrefs to a bunch of objects that should die when the scope exits. return mkrefs(w, c, data, w.plotItem, w.plotItem.vb, w.plotItem.getMenu(), w.plotItem.getAxis('left')) for i in range(5): assert_alldead(mkobjs())
Example #17
Source File: display.py From OpenNFB with GNU General Public License v3.0 | 6 votes |
def init(self, lo=0, hi=125, bins=256, yrange=750, ratio=False): self.widget = pg.PlotWidget() self.widget.setLabel('bottom', 'Frequency', units='Hz') self.bars = pg.BarGraphItem() self.win = np.hanning(bins) self.win = np.blackman(bins) #self.win = np.ones(bins) self.lo, self.hi = lo, hi self.ratio = ratio FS = self.input.sample_rate self.gr_block.set_history(bins) #num_bars = int(round((self.bins - 1) * (self.hi - self.lo) / FS)) # This is total bullshit: num_bars = len(np.zeros(bins)[lo: hi]) x = np.linspace(self.lo, self.hi, num_bars) self.bars = pg.BarGraphItem(x=x, height=range(num_bars), width=1.0) self.bars.setOpts(brushes=[pg.hsvColor(float(x) / num_bars) for x in range(num_bars)]) self.widget.addItem(self.bars) # TODO: Better autoranging features #self.plot.enableAutoRange('xy', False) self.widget.setYRange(0, yrange) self.widget.enableAutoRange('y', 0.95) self.buffer = np.zeros(bins) self.timer = pg.QtCore.QTimer() self.timer.timeout.connect(self.updateGUI) self.timer.start(10)
Example #18
Source File: display.py From OpenNFB with GNU General Public License v3.0 | 5 votes |
def __init__(self, name, **config): self.img = pg.ImageItem() self.plot_widget = pg.PlotWidget(title=name) self.plot_widget.block = self self.plot_widget.addItem(self.img) #self.img_array = np.zeros((1000, self.CHUNKSZ/2+1)) self.img_array = np.zeros((1000, 48)) # bipolar colormap pos = np.array([0., 1., 0.5, 0.25, 0.75]) color = np.array([[0,255,255,255], [255,255,0,255], [0,0,0,255], (0, 0, 255, 255), (255, 0, 0, 255)], dtype=np.ubyte) cmap = pg.ColorMap(pos, color) lut = cmap.getLookupTable(0.0, 1.0, 256) self.img.setLookupTable(lut) self.img.setLevels([-2,7]) FS = 48 * 2 freq = np.arange((self.CHUNKSZ/2)+1)/(float(self.CHUNKSZ)/FS) yscale = 1.0/(self.img_array.shape[1]/freq[-1]) self.img.scale((1./FS)*self.CHUNKSZ, yscale) self.plot_widget.setLabel('left', 'Frequency', units='Hz') self.win = np.hanning(self.CHUNKSZ) #self.show() super(Spectrograph, self).__init__(**config)
Example #19
Source File: testGraphAnalysis.py From PyQt with GNU General Public License v3.0 | 5 votes |
def test(self): tab1 = QtWidgets.QWidget() scrollArea = QtWidgets.QScrollArea(tab1) scrollArea.setMinimumSize(650,550) scrollArea.setWidgetResizable(True) labelsContainer = QWidget() labelsContainer.setMinimumSize(0,3000+200) scrollArea.setWidget(labelsContainer) layout = QtWidgets.QVBoxLayout(labelsContainer) time = ['2019-04-20 08:09:00', '2019-04-20 08:09:00', '2019-04-20 08:09:00', '2019-04-20 08:09:00'] value = [1.2, 2, 1, 4] xdict = dict(enumerate(time)) ticks = [list(zip(range(4), tuple(time)))] for i in range(11): vb1 = CustomViewBox() plt1 = pg.PlotWidget(title="Basic array plotting%s"%i, viewBox=vb1) plt1.resize(500, 500) plt1.setBackground(background=None) plt1.plot(list(xdict.keys()), value) plt1.getPlotItem().getAxis("bottom").setTicks(ticks) temp1 = QtWidgets.QWidget() temp1.setMinimumSize(600, 300) temp1.setMaximumSize(600, 300) layout2 = QtWidgets.QVBoxLayout(temp1) layout2.addWidget(plt1) layout.addWidget(temp1) spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) layout.addItem(spacerItem) # print(layout.count()) self.tabWidget.addTab(tab1, '12') for i in range(self.tabWidget.count()): self.tabWidget.widget(i)
Example #20
Source File: display.py From OpenNFB with GNU General Public License v3.0 | 5 votes |
def __init__(self, name, channels, **config): self._plot_widget = pg.PlotWidget(title=name) self._plot_widget.block = self self.plots = {} self.name = name self.scale_changed() # Workaround for lua tables if hasattr(channels, 'values'): channels = channels.values() channels = list(channels) super(Oscilloscope, self).__init__(channels=channels, **config)
Example #21
Source File: rtl_demo.py From pysdr with GNU General Public License v3.0 | 5 votes |
def __init__(self): super().__init__() grid = QGridLayout() self.setLayout(grid) self.time_plot = pg.PlotWidget() self.time_plot_curve1 = self.time_plot.plot([]) grid.addWidget(self.time_plot, 0, 0) self.setGeometry(300, 300, 300, 220) self.setWindowTitle('RTL-SDR Demo') self.show() # not blocking
Example #22
Source File: uiBasicWidget.py From InplusTrader_Linux with MIT License | 5 votes |
def initplotKline(self): """Kline""" self.widgetDict['D'].pw = pg.PlotWidget(name='PlotD') # K线图 self.widgetDict['D'].vbl.addWidget(self.widgetDict['D'].pw) self.widgetDict['D'].pw.setDownsampling(mode='peak') self.widgetDict['D'].pw.setClipToView(True) self.widgetDict['D'].candle = CandlestickItem(self.listBar) self.widgetDict['D'].pw.addItem(self.widgetDict['D'].candle) #----------------------------------------------------------------------
Example #23
Source File: OWDifferentialExpression.py From orange3-bioinformatics with GNU General Public License v3.0 | 5 votes |
def __init__(self, parent=None, **kwargs): pg.PlotWidget.__init__(self, parent, **kwargs) self.getAxis("bottom").setLabel("Score") self.getAxis("left").setLabel("Counts") self.__data = None self.__histcurve = None self.__mode = Histogram.NoSelection self.__min = 0 self.__max = 0 def makeline(pos): pen = QPen(Qt.darkGray, 1) pen.setCosmetic(True) line = InfiniteLine(angle=90, pos=pos, pen=pen, movable=True) line.setCursor(Qt.SizeHorCursor) return line self.__cuthigh = makeline(self.__max) self.__cuthigh.sigPositionChanged.connect(self.__on_cuthigh_changed) self.__cuthigh.sigPositionChangeFinished.connect(self.selectionEdited) self.__cutlow = makeline(self.__min) self.__cutlow.sigPositionChanged.connect(self.__on_cutlow_changed) self.__cutlow.sigPositionChangeFinished.connect(self.selectionEdited) brush = pg.mkBrush((200, 200, 200, 180)) self.__taillow = pg.PlotCurveItem(fillLevel=0, brush=brush, pen=QPen(Qt.NoPen)) self.__taillow.setVisible(False) self.__tailhigh = pg.PlotCurveItem(fillLevel=0, brush=brush, pen=QPen(Qt.NoPen)) self.__tailhigh.setVisible(False)
Example #24
Source File: mouseFlow.py From PyQt with GNU General Public License v3.0 | 5 votes |
def setupUi(self, Form): Form.setObjectName("Form") Form.resize(726, 595) self.graphicsView = pg.PlotWidget(Form) self.graphicsView.setGeometry(QtCore.QRect(75, 131, 621, 441)) self.graphicsView.setObjectName("graphicsView")
Example #25
Source File: graph1.py From PyQt with GNU General Public License v3.0 | 5 votes |
def test(self): tab1 = QtWidgets.QWidget() scrollArea = QtWidgets.QScrollArea(tab1) scrollArea.setMinimumSize(984,550) scrollArea.setWidgetResizable(True) labelsContainer = QWidget() labelsContainer.setMinimumSize(0,1500) scrollArea.setWidget(labelsContainer) layout = QtWidgets.QVBoxLayout(labelsContainer) time = ['2019-04-20 08:09:00', '2019-04-20 08:09:00', '2019-04-20 08:09:00', '2019-04-20 08:09:00'] value = [1.2, 2, 1, 4] xdict = dict(enumerate(time)) ticks = [list(zip(range(4), tuple(time)))] vb = CustomViewBox() plt = pg.PlotWidget(title="标题这里填写",viewBox=vb) plt.setBackground(background=None) plt.plot(list(xdict.keys()), value) plt.getPlotItem().getAxis("bottom").setTicks(ticks) temp = QtWidgets.QWidget() temp.setMinimumSize(900,300) temp.setMaximumSize(900,300) layout1 = QtWidgets.QVBoxLayout(temp) layout1.addWidget(plt) layout.addWidget(temp) spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) layout.addItem(spacerItem) self.tabWidget.addTab(tab1, '这里tabWidget修改标签')
Example #26
Source File: uiBasicWidget.py From InplusTrader_Linux with MIT License | 5 votes |
def initplotTendency(self): """趋势线""" self.pw3 = pg.PlotWidget(name='Plot3') self.vbl_2.addWidget(self.pw3) self.pw3.setDownsampling(mode='peak') self.pw3.setClipToView(True) self.pw3.setMaximumHeight(200) self.pw3.setXLink('Plot2') # X linked with Plot2 self.curve7 = self.pw3.plot() #----------------------------------------------------------------------
Example #27
Source File: test_GraphicsItem.py From soapy with GNU General Public License v3.0 | 5 votes |
def test_getViewWidget(): view = pg.PlotWidget() vref = weakref.ref(view) item = pg.InfiniteLine() view.addItem(item) assert item.getViewWidget() is view del view gc.collect() assert vref() is None assert item.getViewWidget() is None
Example #28
Source File: test_ScatterPlotItem.py From soapy with GNU General Public License v3.0 | 5 votes |
def test_init_spots(): plot = pg.PlotWidget() # set view range equal to its bounding rect. # This causes plots to look the same regardless of pxMode. plot.setRange(rect=plot.boundingRect()) spots = [ {'x': 0, 'y': 1}, {'pos': (1, 2), 'pen': None, 'brush': None, 'data': 'zzz'}, ] s = pg.ScatterPlotItem(spots=spots) # Check we can display without errors plot.addItem(s) app.processEvents() plot.clear() # check data is correct spots = s.points() defPen = pg.mkPen(pg.getConfigOption('foreground')) assert spots[0].pos().x() == 0 assert spots[0].pos().y() == 1 assert spots[0].pen() == defPen assert spots[0].data() is None assert spots[1].pos().x() == 1 assert spots[1].pos().y() == 2 assert spots[1].pen() == pg.mkPen(None) assert spots[1].brush() == pg.mkBrush(None) assert spots[1].data() == 'zzz'
Example #29
Source File: gui.py From audio-reactive-led-strip with MIT License | 5 votes |
def add_plot(self, title): new_plot = pg.PlotWidget() self.layout.addWidget(new_plot) self.plot.append(new_plot) self.curve.append([])
Example #30
Source File: locopositioning_tab.py From crazyflie-clients-python with GNU General Public License v2.0 | 5 votes |
def __init__(self, title, horizontal, vertical): self._horizontal = horizontal self._vertical = vertical self._depth = self._find_missing_axis(horizontal, vertical) self._title = title self.widget = pg.PlotWidget(title=title, enableMenu=False) self.widget.getPlotItem().hideButtons() self._axis_scale_steps = [] self.widget.setLabel('left', self._vertical, units='m') self.widget.setLabel('bottom', self._horizontal, units='m') self.widget.setAspectLocked(True, 1) self.widget.getViewBox().sigRangeChanged.connect(self._view_changed) self.view = self.widget.getViewBox()