Ich benutze PyQtGraph 0.10 mit Py3.6 und Probleme mit dem folgenden Code.
Ich habe zwei Fragen:PyQtGraph: Legende funktioniert nicht
1) die addLegend()
auf jedem der fünf Parzellen nur eine leere kleine Box zeigen und
2) der showLabel(show=False)
Befehl (Ich möchte nur ein Etikett auf der Unterseite Grundstück wird ignoriert). Hier
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()
ist ein Bild von dem Grundstück:
Vielen Dank für die Hilfe. – Hephaestus
In Bezug auf 1: Ja, Ihre Korrektur hat es behoben. Die addLegend() muss vor dem Plot-Befehl hinzugefügt werden. – Hephaestus
Zu 2: Ich merke jetzt, dass "Label" nicht auf das "Axis Number Label" verweist, sondern auf den Label-Deskriptor. Wie entfernt man dann die Achsennummern? – Hephaestus