Python pyqtgraph.mkPen() Examples
The following are 30
code examples of pyqtgraph.mkPen().
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: uiChanlunWidget.py From chanlun with MIT License | 7 votes |
def generatePicture(self): ## pre-computing a QPicture object allows paint() to run much more quickly, ## rather than re-drawing the shapes every time. self.picture = QtGui.QPicture() p = QtGui.QPainter(self.picture) p.setPen(pg.mkPen(color='w', width=0.4)) # 0.4 means w*2 a = pg.AxisItem('bottom', pen=None, linkView=None, parent=None, maxTickLength=-5, showValues=True) a.setFixedWidth(1) a.setWidth(1) a.setLabel(show=True) a.setGrid(grid=True) labelStyle = {'color': '#FFF', 'font-size': '14pt'} a.setLabel('label text', units='V', **labelStyle) # w = (self.data[1][0] - self.data[0][0]) / 3. w = 0.2 for (t, open, close, min, max) in self.data: p.drawLine(QtCore.QPointF(t, min), QtCore.QPointF(t, max)) if open > close: p.setBrush(pg.mkBrush('g')) else: p.setBrush(pg.mkBrush('r')) p.drawRect(QtCore.QRectF(t-w, open, w*2, close-open)) pg.setConfigOption('leftButtonPan', False) p.end()
Example #2
Source File: analysis.py From pyFlightAnalysis with MIT License | 6 votes |
def callback_graph_clicked(self, event): """ set the curve highlighted to be normal """ print('graph clicked') if self.curve_clicked: if event.modifiers() == QtCore.Qt.ControlModifier: pass else: for curve in self.curve_highlighted[:-1]: curve.setShadowPen(pg.mkPen((200, 200, 200), width=1, cosmetic=True)) self.curve_highlighted = self.curve_highlighted[-1:] if len(self.curve_highlighted) > 0 and not self.curve_clicked: for curve in self.curve_highlighted: curve.setShadowPen(pg.mkPen((120, 120, 120), width=1, cosmetic=True)) self.curve_highlighted = [] self.plotting_data_tableView.setCurrentCell(0, 0) self.curve_clicked = False
Example #3
Source File: candle_demo.py From Python-CTPAPI with MIT License | 6 votes |
def _init_line(self) -> None: """ Create line objects. """ self._v_lines: Dict[str, pg.InfiniteLine] = {} self._h_lines: Dict[str, pg.InfiniteLine] = {} self._views: Dict[str, pg.ViewBox] = {} pen = pg.mkPen(WHITE_COLOR) for plot_name, plot in self._plots.items(): v_line = pg.InfiniteLine(angle=90, movable=False, pen=pen) h_line = pg.InfiniteLine(angle=0, movable=False, pen=pen) view = plot.getViewBox() for line in [v_line, h_line]: line.setZValue(0) line.hide() view.addItem(line) self._v_lines[plot_name] = v_line self._h_lines[plot_name] = h_line self._views[plot_name] = view
Example #4
Source File: multiplePlotSpeedTest.py From tf-pose with Apache License 2.0 | 6 votes |
def fastPlot(): ## Different approach: generate a single item with all data points. ## This runs about 20x faster. start = pg.ptime.time() n = 15 pts = 100 x = np.linspace(0, 0.8, pts) y = np.random.random(size=pts)*0.8 xdata = np.empty((n, n, pts)) xdata[:] = x.reshape(1,1,pts) + np.arange(n).reshape(n,1,1) ydata = np.empty((n, n, pts)) ydata[:] = y.reshape(1,1,pts) + np.arange(n).reshape(1,n,1) conn = np.ones((n*n,pts)) conn[:,-1] = False # make sure plots are disconnected path = pg.arrayToQPath(xdata.flatten(), ydata.flatten(), conn.flatten()) 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 #5
Source File: go.py From diyECG-1opAmp with MIT License | 6 votes |
def update(self): t1,timeTook=time.time(),0 if len(self.ear.data) and not self.btnPause.isChecked(): freqHighCutoff=0 if self.spinLowpass.value()>0: freqHighCutoff=self.spinLowpass.value() data=self.ear.getFiltered(freqHighCutoff) if self.chkInvert.isChecked(): data=np.negative(data) if self.chkAutoscale.isChecked(): self.Yscale=np.max(np.abs(data))*1.1 self.grECG.plotItem.setRange(xRange=[0,self.ear.maxMemorySec], yRange=[-self.Yscale,self.Yscale],padding=0) self.grECG.plot(np.arange(len(data))/float(self.ear.rate),data,clear=True, pen=pyqtgraph.mkPen(color='r'),antialias=True) self.grECG.plotItem.setTitle(self.lineTitle.text(),color=(0,0,0)) self.stamp.setPos(0,-self.Yscale) self.grECG.plotItem.addItem(self.stamp) timeTook=(time.time()-t1)*1000 print("plotting took %.02f ms"%(timeTook)) msTillUpdate=int(self.ear.chunk/self.ear.rate*1000)-timeTook QtCore.QTimer.singleShot(max(0,msTillUpdate), self.update)
Example #6
Source File: candle_demo.py From Python-CTPAPI with MIT License | 6 votes |
def __init__(self, manager: BarManager): """""" super().__init__() self._manager: BarManager = manager self._bar_picutures: Dict[int, QtGui.QPicture] = {} self._item_picuture: QtGui.QPicture = None self._up_pen: QtGui.QPen = pg.mkPen( color=UP_COLOR, width=PEN_WIDTH ) self._up_brush: QtGui.QBrush = pg.mkBrush(color=UP_COLOR) self._down_pen: QtGui.QPen = pg.mkPen( color=DOWN_COLOR, width=PEN_WIDTH ) self._down_brush: QtGui.QBrush = pg.mkBrush(color=DOWN_COLOR) self._rect_area: Tuple[float, float] = None # Very important! Only redraw the visible part and improve speed a lot. self.setFlag(self.ItemUsesExtendedStyleOption)
Example #7
Source File: reggui.py From suite2p with GNU General Public License v3.0 | 6 votes |
def cell_chosen(self): if self.Floaded: self.cell_mask() self.ROIedit.setText(str(self.ichosen)) rgb = np.array(self.colors[self.ichosen]) self.cellscatter.setData(self.xext, self.yext, pen=pg.mkPen(list(rgb)), brush=pg.mkBrush(list(rgb)), size=3) self.cellscatter_side.setData(self.xext, self.yext, pen=pg.mkPen(list(rgb)), brush=pg.mkBrush(list(rgb)), size=3) if self.ichosen >= len(self.stat): self.ichosen = len(self.stat) - 1 self.cell_mask() self.ft = self.Fcell[self.ichosen,:] self.plot_trace() self.p2.setXLink('plot_shift') self.jump_to_frame() self.show()
Example #8
Source File: uiBasicWidget.py From InplusTrader_Linux with MIT License | 6 votes |
def generatePicture(self): ## pre-computing a QPicture object allows paint() to run much more quickly, ## rather than re-drawing the shapes every time. self.picture = QtGui.QPicture() p = QtGui.QPainter(self.picture) p.setPen(pg.mkPen(color='r', width=0.4)) # 0.4 means w*2 # w = (self.data[1][0] - self.data[0][0]) / 3. w = 0.2 for (t, open, close, min, max) in self.data: p.drawLine(QtCore.QPointF(t, min), QtCore.QPointF(t, max)) if open > close: p.setBrush(pg.mkBrush('g')) else: p.setBrush(pg.mkBrush('r')) p.drawRect(QtCore.QRectF(t-w, open, w*2, close-open)) p.end()
Example #9
Source File: uiBasicWidget.py From InplusTrader_Linux with MIT License | 6 votes |
def generatePicture(self): ## pre-computing a QPicture object allows paint() to run much more quickly, ## rather than re-drawing the shapes every time. self.picture = QtGui.QPicture() p = QtGui.QPainter(self.picture) p.setPen(pg.mkPen(color='r', width=0.4)) # 0.4 means w*2 # w = (self.data[1][0] - self.data[0][0]) / 3. w = 0.2 for (t, open, close, min, max) in self.data: p.drawLine(QtCore.QPointF(t, min), QtCore.QPointF(t, max)) if open > close: p.setBrush(pg.mkBrush('g')) else: p.setBrush(pg.mkBrush('r')) p.drawRect(QtCore.QRectF(t-w, open, w*2, close-open)) p.end()
Example #10
Source File: uiChanlunWidget.py From chanlun with MIT License | 6 votes |
def generatePicture(self): ## pre-computing a QPicture object allows paint() to run much more quickly, ## rather than re-drawing the shapes every time. self.picture = QtGui.QPicture() p = QtGui.QPainter(self.picture) p.setPen(pg.mkPen(color='w', width=0.4)) # 0.4 means w*2 # w = (self.data[1][0] - self.data[0][0]) / 3. w = 0.2 for (n, t, open, close, min, max) in self.data: p.drawLine(QtCore.QPointF(n, min), QtCore.QPointF(n, max)) if open > close: p.setBrush(pg.mkBrush('g')) else: p.setBrush(pg.mkBrush('r')) p.drawRect(QtCore.QRectF(n-w, open, w*2, close-open)) pg.setConfigOption('leftButtonPan', False) p.end()
Example #11
Source File: demoUi.py From chanlun with MIT License | 6 votes |
def generatePicture(self): ## pre-computing a QPicture object allows paint() to run much more quickly, ## rather than re-drawing the shapes every time. self.picture = QtGui.QPicture() p = QtGui.QPainter(self.picture) p.setPen(pg.mkPen(color='w', width=0.4)) # 0.4 means w*2 # w = (self.data[1][0] - self.data[0][0]) / 3. w = 0.2 for (t, open, close, min, max) in self.data: p.drawLine(QtCore.QPointF(t, min), QtCore.QPointF(t, max)) if open > close: p.setBrush(pg.mkBrush('g')) else: p.setBrush(pg.mkBrush('r')) p.drawRect(QtCore.QRectF(t-w, open, w*2, close-open)) p.end()
Example #12
Source File: picopyscope.py From picosdk-python-examples with ISC License | 6 votes |
def triggerKnobEnabledChange(self, state): self.triggerKnobSource.setEnabled(state) self.triggerKnobDirection.setEnabled(state) if state: if self.triggX is None: self.triggX = 0.5 if self.triggY is None: self.triggY = 0 if self.triggerDiamond is None: self.triggerDiamond = pg.RectROI([self.triggX * self.samples / self.ratioBin, self.triggY], [0, 0], invertible=True, pen=pg.mkPen(None)) self.triggerDiamond.sigRegionChanged.connect(self.triggerDiamondUpdate) self.viewPlot.addItem(self.triggerDiamond) else: self.viewPlot.removeItem(self.triggerDiamond) self.triggerDiamond = None self.triggerReset = True
Example #13
Source File: multiplot.py From kite with GNU General Public License v3.0 | 6 votes |
def addPlot(self, plot): image = plot.image if not self.plots: self.setImageItem(image) self.plots.append(plot) self.setSymColormap() # hist_pen = pg.mkPen((170, 57, 57, 255), width=1.) image.setLookupTable(self.getLookupTable) def updateLevels(): image.setLevels(self.region.getRegion()) self.sigLevelChangeFinished.connect(updateLevels) self.sigLevelsChanged.connect(updateLevels) updateLevels()
Example #14
Source File: isiviewer.py From tridesclous with MIT License | 6 votes |
def refresh(self): self.plot.clear() n = 0 for k in self.controller.positive_cluster_labels: if not self.controller.cluster_visible[k]: continue if k not in self.all_isi: self._compute_isi(k) isi = self.all_isi[k] if len(isi) ==0: return bins = np.arange(self.params['bin_min'], self.params['bin_max'], self.params['bin_size']) count, bins = np.histogram(isi, bins=bins) qcolor = self.controller.qcolors[k] curve = pg.PlotCurveItem(bins[:-1], count, pen=pg.mkPen(qcolor, width=3)) self.plot.addItem(curve)
Example #15
Source File: curves.py From pymeasure with MIT License | 6 votes |
def __init__(self, plot, pen=None): """ Initiates the crosshars onto a plot given the pen style. Example pen: pen=pg.mkPen(color='#AAAAAA', style=QtCore.Qt.DashLine) """ super().__init__() self.vertical = pg.InfiniteLine(angle=90, movable=False, pen=pen) self.horizontal = pg.InfiniteLine(angle=0, movable=False, pen=pen) plot.addItem(self.vertical, ignoreBounds=True) plot.addItem(self.horizontal, ignoreBounds=True) self.position = None self.proxy = pg.SignalProxy(plot.scene().sigMouseMoved, rateLimit=60, slot=self.mouseMoved) self.plot = plot
Example #16
Source File: uiBasicWidget修改.py From chanlun with MIT License | 6 votes |
def generatePicture(self): ## pre-computing a QPicture object allows paint() to run much more quickly, ## rather than re-drawing the shapes every time. self.picture = QtGui.QPicture() p = QtGui.QPainter(self.picture) p.setPen(pg.mkPen(color='w', width=0.4)) # 0.4 means w*2 # w = (self.data[1][0] - self.data[0][0]) / 3. w = 0.2 for (t, open, close, min, max) in self.data: p.drawLine(QtCore.QPointF(t, min), QtCore.QPointF(t, max)) if open > close: p.setBrush(pg.mkBrush('g')) else: p.setBrush(pg.mkBrush('r')) p.drawRect(QtCore.QRectF(t-w, open, w*2, close-open)) p.end()
Example #17
Source File: go.py From Python-GUI-examples with MIT License | 6 votes |
def update(self): if not self.ear.data is None and not self.ear.fft is None: pcmMax=np.max(np.abs(self.ear.data)) if pcmMax>self.maxPCM: self.maxPCM=pcmMax self.grPCM.plotItem.setRange(yRange=[-pcmMax,pcmMax]) if np.max(self.ear.fft)>self.maxFFT: self.maxFFT=np.max(np.abs(self.ear.fft)) #self.grFFT.plotItem.setRange(yRange=[0,self.maxFFT]) self.grFFT.plotItem.setRange(yRange=[0,1]) self.pbLevel.setValue(1000*pcmMax/self.maxPCM) pen=pyqtgraph.mkPen(color='b') self.grPCM.plot(self.ear.datax,self.ear.data,pen=pen,clear=True) pen=pyqtgraph.mkPen(color='r') self.grFFT.plot(self.ear.fftx,self.ear.fft/self.maxFFT,pen=pen,clear=True) QtCore.QTimer.singleShot(1, self.update) # QUICKLY repeat
Example #18
Source File: widgets.py From pymeasure with MIT License | 6 votes |
def update_plot(self, filename): self.plot.clear() if not os.path.isdir(filename) and filename != '': try: results = Results.load(str(filename)) except ValueError: return except Exception as e: raise e curve = ResultsCurve(results, x=self.plot_widget.plot_frame.x_axis, y=self.plot_widget.plot_frame.y_axis, pen=pg.mkPen(color=(255, 0, 0), width=1.75), antialias=True ) curve.update() self.plot.addItem(curve) self.preview_param.clear() for key, param in results.procedure.parameter_objects().items(): new_item = QtGui.QTreeWidgetItem([param.name, str(param)]) self.preview_param.addTopLevelItem(new_item) self.preview_param.sortItems(0, QtCore.Qt.AscendingOrder)
Example #19
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 #20
Source File: drawroi.py From suite2p with GNU General Public License v3.0 | 5 votes |
def draw(self, parent, imy, imx, dy, dx): roipen = pg.mkPen(self.color, width=3, style=QtCore.Qt.SolidLine) self.ROI = pg.EllipseROI([imx, imy], [dx, dy], pen=roipen, removable=True) self.ROI.handleSize = 8 self.ROI.handlePen = roipen self.ROI.addScaleHandle([1, 0.5], [0., 0.5]) self.ROI.addScaleHandle([0.5, 0], [0.5, 1]) self.ROI.setAcceptedMouseButtons(QtCore.Qt.LeftButton) parent.p0.addItem(self.ROI)
Example #21
Source File: graphwidget.py From opcua-client-gui with GNU General Public License v3.0 | 5 votes |
def _add_node_to_channel(self ,node=None): if not isinstance(node, Node): node = self.window.get_current_node() if node is None: return if node not in self._node_list: dtype = node.get_attribute(ua.AttributeIds.DataType) dtypeStr = ua.ObjectIdNames[dtype.Value.Value.Identifier] if dtypeStr in self.acceptedDatatypes and not isinstance(node.get_value() ,list): self._node_list.append(node) displayName = node.get_display_name().Text colorIndex = len(self._node_list) % len(self.colorCycle) self._curves.append \ (self.pw.plot(pen=pg.mkPen(color=self.colorCycle[colorIndex] ,width=3 ,style=Qt.SolidLine), name=displayName)) # set initial data to zero self._channels.append(np.zeros(self.N)) # init data sequence with zeros # add the new channel data to the new curve self._curves[-1].setData(self._channels[-1]) logger.info("Variable %s added to graph", displayName) else: logger.info("Variable cannot be added to graph because it is of type %s or an array", dtypeStr)
Example #22
Source File: __init__.py From finplot with MIT License | 5 votes |
def plot(x, y=None, color=None, width=1, ax=None, style=None, legend=None, zoomscale=True): ax = _create_plot(ax=ax, maximize=False) used_color = _get_color(ax, style, color) datasrc = _create_datasrc(ax, x, y) if not zoomscale: datasrc.scale_cols = [] _set_datasrc(ax, datasrc) if legend is not None and ax.legend is None: ax.legend = FinLegendItem(border_color=legend_border_color, fill_color=legend_fill_color, size=None, offset=(3,2)) ax.legend.setParentItem(ax.vb) y = datasrc.y / ax.vb.yscale.scalef if style is None or style=='-': connect_dots = 'finite' # same as matplotlib; use datasrc.standalone=True if you want to keep separate intervals on a plot item = ax.plot(datasrc.index, y, pen=pg.mkPen(used_color, width=width), name=legend, connect=connect_dots) else: symbol = {'v':'t', '^':'t1', '>':'t2', '<':'t3'}.get(style, style) # translate some similar styles ser = y.loc[y.notnull()] item = ax.plot(ser.index, ser.values, pen=None, symbol=symbol, symbolPen=None, symbolSize=10, symbolBrush=pg.mkBrush(used_color), name=legend) item.scatter._dopaint = item.scatter.paint item.scatter.paint = partial(_paint_scatter, item.scatter) # optimize (when having large number of points) by ignoring scatter click detection _dummy_mouse_click = lambda ev: 0 item.scatter.mouseClickEvent = _dummy_mouse_click item.opts['handed_color'] = color item.ax = ax item.datasrc = datasrc _update_significants(ax, datasrc, force=False) item.update_data = partial(_update_data, None, item) if ax.legend is not None: for _,label in ax.legend.items: label.setAttr('justify', 'left') label.setText(label.text, color=legend_text_color) return item
Example #23
Source File: lineplot1d.py From argos with GNU General Public License v3.0 | 5 votes |
def __init__(self, collector, parent=None): """ Constructor. See AbstractInspector constructor for parameters. """ super(PgLinePlot1d, self).__init__(collector, parent=parent) # The sliced array is kept in memory. This may be different per inspector, e.g. 3D # inspectors may decide that this uses to much memory. The slice is therefor not stored # in the collector. self.slicedArray = None self.graphicsLayoutWidget = pg.GraphicsLayoutWidget() self.contentsLayout.addWidget(self.graphicsLayoutWidget) self.titleLabel = self.graphicsLayoutWidget.addLabel('<plot title goes here>', 0, 0) self.plotItem = ArgosPgPlotItem() self.viewBox = self.plotItem.getViewBox() self.graphicsLayoutWidget.addItem(self.plotItem, 1, 0) # Probe probePen = pg.mkPen("#BFBFBF") probeShadowPen = pg.mkPen("#00000064", width=3) self.crossLineVerShadow = pg.InfiniteLine(angle=90, movable=False, pen=probeShadowPen) self.crossLineVertical = pg.InfiniteLine(angle=90, movable=False, pen=probePen) self.probeDataItem = pg.PlotDataItem(symbolPen=probePen) self.probeLabel = self.graphicsLayoutWidget.addLabel('', 2, 0, justify='left') # Configuration tree self._config = PgLinePlot1dCti(pgLinePlot1d=self, nodeName='1D line plot') # Connect signals # Based mouseMoved on crosshair.py from the PyQtGraph examples directory. # I did not use the SignalProxy because I did not see any difference. self.plotItem.scene().sigMouseMoved.connect(self.mouseMoved)
Example #24
Source File: __init__.py From finplot with MIT License | 5 votes |
def add_band(y0, y1, color=band_color, ax=None): ax = _create_plot(ax=ax, maximize=False) lr = pg.LinearRegionItem([y0,y1], orientation=pg.LinearRegionItem.Horizontal, brush=pg.mkBrush(color), movable=False) lr.lines[0].setPen(pg.mkPen(None)) lr.lines[1].setPen(pg.mkPen(None)) lr.setZValue(-10) ax.addItem(lr)
Example #25
Source File: uiKLine.py From uiKLine with MIT License | 5 votes |
def __init__(self, data): """初始化""" pg.GraphicsObject.__init__(self) # 数据格式: [ (time, open, close, low, high),...] self.data = data # 只重画部分图形,大大提高界面更新速度 self.rect = None self.picture = None self.setFlag(self.ItemUsesExtendedStyleOption) # 画笔和画刷 w = 0.4 self.offset = 0 self.low = 0 self.high = 1 self.picture = QtGui.QPicture() self.pictures = [] self.bPen = pg.mkPen(color=(0, 240, 240, 255), width=w*2) self.bBrush = pg.mkBrush((0, 240, 240, 255)) self.rPen = pg.mkPen(color=(255, 60, 60, 255), width=w*2) self.rBrush = pg.mkBrush((255, 60, 60, 255)) self.rBrush.setStyle(Qt.NoBrush) # 刷新K线 self.generatePicture(self.data) # 画K线 #----------------------------------------------------------------------
Example #26
Source File: camera_display.py From stytra with GNU General Public License v3.0 | 5 votes |
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.points_fish = pg.ScatterPlotItem( size=5, pxMode=True, brush=(255, 0, 0), pen=None ) self.lines_fish = pg.PlotCurveItem( connect="pairs", pen=pg.mkPen((10, 100, 200), width=3) ) self.display_area.addItem(self.points_fish) self.display_area.addItem(self.lines_fish) self.tracking_params = self.experiment.pipeline.fishtrack._params
Example #27
Source File: __init__.py From finplot with MIT License | 5 votes |
def add_line(p0, p1, color=draw_line_color, interactive=False, ax=None): ax = _create_plot(ax=ax, maximize=False) x_pts = _pdtime2index(ax, pd.Series([p0[0], p1[0]])) pts = [(x_pts[0], p0[1]), (x_pts[1], p1[1])] if interactive: line = FinPolyLine(ax.vb, pts, closed=False, pen=pg.mkPen(color), movable=False) ax.vb.rois.append(line) else: line = FinLine(pts, pen=pg.mkPen(color)) line.ax = ax ax.addItem(line) return line
Example #28
Source File: analysis.py From pyFlightAnalysis with MIT License | 5 votes |
def callback_curve_clicked(self, curve): """""" print('curve clicked') self.curve_clicked = True dt = time.time() - self.curve_clicked_time self.curve_clicked_time = time.time() if dt < 0.3: win = CurveModifyWin() curves = [data[2] for data in self.data_plotting.values()] ind = curves.index(curve) curve.setShadowPen(pg.mkPen((70, 70, 70), width=5, cosmetic=True)) self.curve_highlighted.append(curve) self.plotting_data_tableView.setCurrentCell(ind, 0)
Example #29
Source File: go.py From Python-GUI-examples with MIT License | 5 votes |
def update(self): t1=time.clock() points=100 #number of data points X=np.arange(points) Y=np.sin(np.arange(points)/points*3*np.pi+time.time()) C=pyqtgraph.hsvColor(time.time()/5%1,alpha=.5) pen=pyqtgraph.mkPen(color=C,width=10) self.grPlot.plot(X,Y,pen=pen,clear=True) print("update took %.02f ms"%((time.clock()-t1)*1000)) if self.chkMore.isChecked(): QtCore.QTimer.singleShot(1, self.update) # QUICKLY repeat
Example #30
Source File: __init__.py From finplot with MIT License | 5 votes |
def mouseMiddleDrag(self, ev, axis): if ev.modifiers() != QtCore.Qt.ControlModifier: return super().mouseDragEvent(ev, axis) p1 = self.mapToView(ev.pos()) p1 = _clamp_point(self.parent(), p1) def nonzerosize(a, b): c = b-a return pg.Point(abs(c.x()) or 1, abs(c.y()) or 1) if not self.drawing: # add new line p0 = self.mapToView(ev.lastPos()) p0 = _clamp_point(self.parent(), p0) s = nonzerosize(p0, p1) self.draw_ellipse = FinEllipse(p0, s, pen=pg.mkPen(draw_line_color), movable=True) self.draw_ellipse.setZValue(80) self.rois.append(self.draw_ellipse) self.addItem(self.draw_ellipse) self.drawing = True else: c = self.draw_ellipse.pos() + self.draw_ellipse.size()*0.5 s = nonzerosize(c, p1) self.draw_ellipse.setSize(s*2, update=False) self.draw_ellipse.setPos(c-s) if ev.isFinish(): self.drawing = False ev.accept()