本文整理汇总了Python中pyqtgraph.ScatterPlotItem方法的典型用法代码示例。如果您正苦于以下问题:Python pyqtgraph.ScatterPlotItem方法的具体用法?Python pyqtgraph.ScatterPlotItem怎么用?Python pyqtgraph.ScatterPlotItem使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyqtgraph
的用法示例。
在下文中一共展示了pyqtgraph.ScatterPlotItem方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: update
# 需要导入模块: import pyqtgraph [as 别名]
# 或者: from pyqtgraph import ScatterPlotItem [as 别名]
def update():
global curve, data, ptr, p, lastTime, fps
p.clear()
if ui.randCheck.isChecked():
size = sizeArray
else:
size = ui.sizeSpin.value()
curve = pg.ScatterPlotItem(x=data[ptr%50], y=data[(ptr+1)%50],
pen='w', brush='b', size=size,
pxMode=ui.pixelModeCheck.isChecked())
p.addItem(curve)
ptr += 1
now = time()
dt = now - lastTime
lastTime = now
if fps is None:
fps = 1.0/dt
else:
s = np.clip(dt*3., 0, 1)
fps = fps * (1-s) + (1.0/dt) * s
p.setTitle('%0.2f fps' % fps)
p.repaint()
#app.processEvents() ## force complete redraw for every plot
示例2: __init__
# 需要导入模块: import pyqtgraph [as 别名]
# 或者: from pyqtgraph import ScatterPlotItem [as 别名]
def __init__(self, parent_plot):
KiteSubplot.__init__(self, parent_plot)
self.aps_correlation = pg.ScatterPlotItem(
antialias=True,
brush=brush_aps,
pen=pen_aps,
size=4)
self.aps_model = pg.PlotDataItem(
antialias=True,
pen=pen_aps_model)
self.legend = pg.LegendItem(offset=(0., .5))
self.legend.setParentItem(self.plot.graphicsItem())
self.legend.addItem(self.aps_model, '')
self.addItem(self.aps_correlation)
self.addItem(self.aps_model)
self.plot.setLabels(
bottom='Elevation (m)',
left='Displacement (m)')
示例3: change_catalogue
# 需要导入模块: import pyqtgraph [as 别名]
# 或者: from pyqtgraph import ScatterPlotItem [as 别名]
def change_catalogue(self, catalogue):
with self.mutex:
for k, v in self.scatters.items():
self.plot.removeItem(v)
self.scatters = {}
self.catalogue = catalogue
colors = make_color_dict(self.catalogue['clusters'])
self.qcolors = {}
for k, color in colors.items():
r, g, b = color
self.qcolors[k] = QT.QColor(r*255, g*255, b*255)
self.all_plotted_labels = self.catalogue['cluster_labels'].tolist() + [LABEL_UNCLASSIFIED]
for k in self.all_plotted_labels:
qcolor = self.qcolors[k]
qcolor.setAlpha(150)
scatter = pg.ScatterPlotItem(x=[ ], y= [ ], pen=None, brush=qcolor, size=10, pxMode = True)
self.scatters[k] = scatter
self.plot.addItem(scatter)
示例4: __init__
# 需要导入模块: import pyqtgraph [as 别名]
# 或者: from pyqtgraph import ScatterPlotItem [as 别名]
def __init__(self, iface, plot):
QObject.__init__(self)
self.iface = iface
self.plot = plot
self.add_selection = False
self.just_selected = False
self.show_lines = True
if has_pyqtgraph:
self.plot.setClipToView(True)
self.plot.enableAutoRange(enable=True)
self.hist_selection = pg.PlotCurveItem()
self.scatter_selection = []
self.scatter = pg.ScatterPlotItem()
self.scatter_points = {}
self.region = pg.LinearRegionItem()
#self.selected_points = []
self.selected_points = pg.ScatterPlotItem()
self.regress_line = pg.InfiniteLine()
#self.roi = None
#----
# Histogram functions
示例5: test_init_spots
# 需要导入模块: import pyqtgraph [as 别名]
# 或者: from pyqtgraph import ScatterPlotItem [as 别名]
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'
示例6: __init__
# 需要导入模块: import pyqtgraph [as 别名]
# 或者: from pyqtgraph import ScatterPlotItem [as 别名]
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.points_calib = pg.ScatterPlotItem()
self.display_area.addItem(self.points_calib)
示例7: suggest_merge
# 需要导入模块: import pyqtgraph [as 别名]
# 或者: from pyqtgraph import ScatterPlotItem [as 别名]
def suggest_merge(self, parent):
parent.ichosen = self.merge_list[self.n][0]
parent.imerge = list(self.merge_list[self.n])
if self.unmerged[self.n]:
self.iMerge.setText('suggested ROIs to merge: %s'%parent.imerge)
self.doMerge.setEnabled(True)
self.p0.clear()
cell0 = parent.imerge[0]
sstring = ''
for i in parent.imerge[1:]:
rgb = parent.colors['cols'][0,i]
pen = pg.mkPen(rgb, width=3)
scatter=pg.ScatterPlotItem(parent.Fbin[cell0], parent.Fbin[i], pen=pen)
self.p0.addItem(scatter)
sstring += ' %d '%i
self.p0.setLabel('left', sstring)
self.p0.setLabel('bottom', str(cell0))
else:
# set to the merged ROI index
parent.ichosen = parent.stat[parent.ichosen]['inmerge']
parent.imerge = [parent.ichosen]
self.iMerge.setText('ROIs merged: %s'%list(parent.stat[parent.ichosen]['imerge']))
self.doMerge.setEnabled(False)
self.p0.clear()
self.n+=1
if self.n > len(self.merge_list)-1:
self.n = 0
parent.checkBoxz.setChecked(True)
parent.update_plot()
parent.win.show()
parent.show()
示例8: proc_ROI
# 需要导入模块: import pyqtgraph [as 别名]
# 或者: from pyqtgraph import ScatterPlotItem [as 别名]
def proc_ROI(self):
stat0 = []
if self.extracted:
for t, s in zip(self.scatter, self.tlabel):
self.p0.removeItem(s)
self.p0.removeItem(t)
self.scatter = []
self.tlabel = []
for n in range(self.nROIs):
ellipse = self.ROIs[n].ellipse
yrange = self.ROIs[n].yrange
xrange = self.ROIs[n].xrange
x, y = np.meshgrid(xrange, yrange)
ypix = y[ellipse].flatten()
xpix = x[ellipse].flatten()
lam = np.ones(ypix.shape)
stat0.append({'ypix': ypix, 'xpix': xpix, 'lam': lam, 'npix': ypix.size})
self.tlabel.append(pg.TextItem(str(n), self.ROIs[n].color, anchor=(0, 0)))
self.tlabel[-1].setPos(xpix.mean(), ypix.mean())
self.p0.addItem(self.tlabel[-1])
self.scatter.append(pg.ScatterPlotItem([xpix.mean()], [ypix.mean()],
pen=self.ROIs[n].color, symbol='+'))
self.p0.addItem(self.scatter[-1])
if not os.path.isfile(self.parent.ops['reg_file']):
self.parent.ops['reg_file'] = os.path.join(self.parent.basename, 'data.bin')
F, Fneu, F_chan2, Fneu_chan2, spks, ops, stat = masks_and_traces(self.parent.ops, stat0, self.parent.stat)
print(spks.shape)
# print('After', stat[0].keys())
# print('Orig', self.parent.stat[0].keys())
self.Fcell = F
self.Fneu = Fneu
self.F_chan2 = F_chan2
self.Fneu_chan2 = Fneu_chan2
self.Spks = spks
self.plot_trace()
self.extracted = True
self.new_stat = stat
self.closeGUI.setEnabled(True)
示例9: update_reference_coordinates
# 需要导入模块: import pyqtgraph [as 别名]
# 或者: from pyqtgraph import ScatterPlotItem [as 别名]
def update_reference_coordinates(self):
points = self.master.get_coordinates_reference_data()
if points is None:
return
if self.ref_scatterplot_item is None:
color = pg.mkColor(200, 200, 200)
pen, brush = pg.mkPen(color=color), pg.mkBrush(color=color)
size = OWScatterPlotBase.MinShapeSize + 3
self.ref_scatterplot_item = pg.ScatterPlotItem(x=points[0], y=points[1], pen=pen, brush=brush, size=size)
self.plot_widget.addItem(self.ref_scatterplot_item)
else:
self.ref_scatterplot_item.setData(x=points[0], y=points[1])
示例10: test_init_spots
# 需要导入模块: import pyqtgraph [as 别名]
# 或者: from pyqtgraph import ScatterPlotItem [as 别名]
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'
示例11: drawScatterplot
# 需要导入模块: import pyqtgraph [as 别名]
# 或者: from pyqtgraph import ScatterPlotItem [as 别名]
def drawScatterplot(self, xvalues, xmin, xmax, yvalues, ymin, ymax, slope, intercept, ids, symbols=None):
# plot the chart
if has_pyqtgraph:
self.scatter = pg.ScatterPlotItem()
self.plot.clear()
# each point takes the colour of the map
if symbols:
points = []
for i, id in enumerate(ids):
x = xvalues[i]
y = yvalues[i]
symb = symbols[i]
points.append({'pos': (x,y), 'data': id, 'size': 3, 'pen': pg.mkPen(None), 'brush': symb})
self.scatter.addPoints(points)
else:
self.scatter.addPoints(x=xvalues, y=yvalues, data=ids, size=3, pen=pg.mkPen(None), brush=pg.mkBrush(235, 235, 235, 255))
# selection by direct click
self.scatter.sigClicked.connect(self.changedScatterplotSelection)
self.plot.addItem(self.scatter)
# add the regression line
self.regress_line = pg.InfiniteLine()
self.regress_line.setAngle(atan(slope/1) * 180 / 3.1459)
self.regress_line.setValue((0,intercept))
self.regress_line.setPen(color='b', width=1)
if self.show_lines:
self.plot.addItem(self.regress_line)
# newfeature: add the selection tool
#self.roi = pg.PolyLineROI([[xmin, ymin],[xmax, ymin],[xmax, ymax],[xmin, ymax]], closed=True)
#self.roi.sigRegionChangeFinished.connect(self.changedScatterPlotSelection)
#self.plot.addItem(self.roi)
#self.plot.disableAutoRange('xy')
# allow selection of items in chart and selecting them on the map
示例12: setScatterplotSelection
# 需要导入模块: import pyqtgraph [as 别名]
# 或者: from pyqtgraph import ScatterPlotItem [as 别名]
def setScatterplotSelection(self, xvalues, yvalues, ids):
if has_pyqtgraph:
#if not self.just_selected:
self.clearScatterplotSelection()
if len(ids) > 0:
self.scatter_selection = [fid for fid in ids]
self.selected_points = pg.ScatterPlotItem()
self.selected_points.addPoints(x=xvalues, y=yvalues, data=ids, size=3, pen=pg.mkPen('r', width=1), brush=pg.mkBrush(235, 0, 0, 255))
self.plot.addItem(self.selected_points)
self.just_selected = False
示例13: clearScatterplotSelection
# 需要导入模块: import pyqtgraph [as 别名]
# 或者: from pyqtgraph import ScatterPlotItem [as 别名]
def clearScatterplotSelection(self):
if has_pyqtgraph:
if self.selected_points:
self.plot.removeItem(self.selected_points)
self.selected_points = pg.ScatterPlotItem()
self.scatter_selection = []
示例14: getCurve
# 需要导入模块: import pyqtgraph [as 别名]
# 或者: from pyqtgraph import ScatterPlotItem [as 别名]
def getCurve(self, ref=True):
if ref is False:
data = self.inertData
else:
data = self.refData[1:]
x = data['x']
y = data['t']
curve = pg.PlotCurveItem(x=x, y=y, pen=self.pen)
#x = self.data['x'] - ref.data['x']
#y = self.data['t']
step = 1.0
#mod = self.data['pt'] % step
#inds = np.argwhere(abs(mod[1:] - mod[:-1]) > step*0.9)
inds = [0]
pt = data['pt']
for i in range(1,len(pt)):
diff = pt[i] - pt[inds[-1]]
if abs(diff) >= step:
inds.append(i)
inds = np.array(inds)
#t = self.data['t'][inds]
#x = self.data['x'][inds]
pts = []
for i in inds:
x = data['x'][i]
y = data['t'][i]
if i+1 < len(data):
dpt = data['pt'][i+1]-data['pt'][i]
dt = data['t'][i+1]-data['t'][i]
else:
dpt = 1
if dpt > 0:
c = pg.mkBrush((0,0,0))
else:
c = pg.mkBrush((200,200,200))
pts.append({'pos': (x, y), 'brush': c})
points = pg.ScatterPlotItem(pts, pen=self.pen, size=7)
return curve, points
示例15: test_scatterplotitem
# 需要导入模块: import pyqtgraph [as 别名]
# 或者: from pyqtgraph import ScatterPlotItem [as 别名]
def test_scatterplotitem():
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())
# test SymbolAtlas accepts custom symbol
s = pg.ScatterPlotItem()
symbol = QtGui.QPainterPath()
symbol.addEllipse(QtCore.QRectF(-0.5, -0.5, 1, 1))
s.addPoints([{'pos': [0,0], 'data': 1, 'symbol': symbol}])
for i, pxMode in enumerate([True, False]):
for j, useCache in enumerate([True, False]):
s = pg.ScatterPlotItem()
s.opts['useCache'] = useCache
plot.addItem(s)
s.setData(x=np.array([10,40,20,30])+i*100, y=np.array([40,60,10,30])+j*100, pxMode=pxMode)
s.addPoints(x=np.array([60, 70])+i*100, y=np.array([60, 70])+j*100, size=[20, 30])
# Test uniform spot updates
s.setSize(10)
s.setBrush('r')
s.setPen('g')
s.setSymbol('+')
app.processEvents()
# Test list spot updates
s.setSize([10] * 6)
s.setBrush([pg.mkBrush('r')] * 6)
s.setPen([pg.mkPen('g')] * 6)
s.setSymbol(['+'] * 6)
s.setPointData([s] * 6)
app.processEvents()
# Test array spot updates
s.setSize(np.array([10] * 6))
s.setBrush(np.array([pg.mkBrush('r')] * 6))
s.setPen(np.array([pg.mkPen('g')] * 6))
s.setSymbol(np.array(['+'] * 6))
s.setPointData(np.array([s] * 6))
app.processEvents()
# Test per-spot updates
spot = s.points()[0]
spot.setSize(20)
spot.setBrush('b')
spot.setPen('g')
spot.setSymbol('o')
spot.setData(None)
app.processEvents()
plot.clear()