„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie füge ich mit TwinX Beschriftungen für Primär- und Sekundärachsen in einer Legende hinzu?

Wie füge ich mit TwinX Beschriftungen für Primär- und Sekundärachsen in einer Legende hinzu?

Veröffentlicht am 08.11.2024
Durchsuche:922

How to Add Labels for Both Primary and Secondary Axes in a Legend with TwinX?

Legendenanzeige mit Sekundärachse in TwinX

In einem Plot mit mehreren Y-Achsen mit twinx(), Hinzufügen von Beschriftungen zu jeder Zeile und Sie in einer Legende darzustellen, kann eine Herausforderung darstellen. Normalerweise erscheinen in der Legende nur Beschriftungen der Primärachse.

Betrachten Sie das folgende Beispiel, in dem Beschriftungen für zwei Primärachsenlinien und eine Sekundärachsenlinie definiert sind:

fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(time, Swdown, '-', label = 'Swdown')
ax.plot(time, Rn, '-', label = 'Rn')
ax2 = ax.twinx()
ax2.plot(time, temp, '-r', label = 'temp')
ax.legend(loc=0)

In diesem Fall zeigt die Legende nur die Bezeichnungen „Swdown“ und „Rn“. Um die Bezeichnung „temp“ für die Sekundärachse einzuschließen, können zwei Ansätze verwendet werden:

Separate Legenden

Eine Möglichkeit besteht darin, eine zweite Legende speziell für die Sekundärachse zu erstellen Achse. Dies kann durch Hinzufügen der folgenden Zeile erreicht werden:

ax2.legend(loc=0)

Dies führt zu zwei separaten Legenden, eine für jede Achse.

Kombinierte Legende

Führen Sie für eine einzelne, kombinierte Legende die folgenden Schritte aus:

  1. Erstellen Sie eine Liste aller Linien (von beiden Achsen), die Sie haben möchte in der Legende erscheinen:
lns = lns1 lns2 lns3
  1. Extrahieren Sie die Beschriftungen aus jeder Zeile:
labs = [l.get_label() for l in lns]
  1. Verwenden Sie die Funktion legend() auf der Primärachse (ax) und übergeben Sie die kombinierte Zeilenliste und Beschriftungsliste:
ax.legend(lns, labs, loc=0)

Durch Befolgen dieser Anweisungen können Sie effektiv alle Linienbeschriftungen in einer einzigen Legende anzeigen, unabhängig davon, ob sie zu der gehören Primär- oder Sekundärachsen.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3