Hep*_*tus 2 python python-3.x pyqtgraph
我将 PyQtGraph 0.10 与 Py3.6 一起使用,并且在使用以下代码时遇到问题。
我有两个问题:
1)addLegend()五个图中的每一个都只显示一个空的小盒子,并且
2)该showLabel(show=False)命令被忽略(我只想在底部图上有一个标签)。
self.win = pg.GraphicsWindow()
self.win.clear()
for figIdx, devid in enumerate(self.norm_data.keys()):
plot = self.win.addPlot()
plot.plot(x=self.norm_time[devid], y=self.norm_data[devid] , name=devid , pen=pg.mkPen('b', width=2), connect="finite")
plot.plot(x=self.pkt_starts[devid].time, y=self.pkt_starts[devid].data, name="Packet start", pen=None, symbol='x' ,symbolSize=8, symbolPen="c")
plot.plot(x=self.bad_gaps [devid].time, y=self.bad_gaps [devid].data, name="Seq gap" , pen='r' , symbol=None, connect="finite")
plot.addLegend() # Try to add legend
plot.setLabel('left', "Data")
plot.setRange(yRange=[0, 5])
plot.setRange(xRange=[0, self.time_end])
lr = pg.LinearRegionItem([5, 10]) # This is a mouse-draggable window on the plot
lr.setZValue(-10)
lr.sigRegionChanged.connect(updateRegion)
self.region_list.append(lr)
plot.addItem(lr)
plot.showLabel('bottom',show=False) # Try to turn of bottom label
plot.getAxis('bottom').showLabel(show=False) # try again
self.win.nextRow()
# callback for the linear region item on the plot
def updateRegion(regionItem):
self.region_low, self.region_high = regionItem.getRegion()
Run Code Online (Sandbox Code Playgroud)
这是情节的图像:
关于问题1,应该在命令plot.addLegend()之前添加plot.plot(x,y,name)
关于问题 2,您正在清除所有图的底部标签。如果您想显示最后一个图的底部标签,请执行以下操作:
if (figIdx != len(self.norm_data.keys())):
plot.showLabel('bottom',show=False) # For all other plots remove the label
else:
plot.showLabel('bottom',show=True) # fOR THE LAST PLOT show THE BOTTOM LABEL
Run Code Online (Sandbox Code Playgroud)
我希望这就是您正在寻找的。
| 归档时间: |
|
| 查看次数: |
3396 次 |
| 最近记录: |