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

Susan Sarandon
Freigeben: 2024-11-01 01:09:01
Original
972 Leute haben es durchsucht

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:

<code class="python">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)</code>
Nach dem Login kopieren

In diesem Fall , die Legende zeigt 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:

<code class="python">ax2.legend(loc=0)</code>
Nach dem Login kopieren

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

Kombinierte Legende

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

  1. Erstellen Sie eine Liste aller Linien (von beiden Achsen), die in der Legende erscheinen sollen:
<code class="python">lns = lns1+lns2+lns3</code>
Nach dem Login kopieren
  1. Extrahieren Sie die Beschriftungen aus jeder Zeile:
<code class="python">labs = [l.get_label() for l in lns]</code>
Nach dem Login kopieren
  1. Verwenden Sie die Funktion legend() auf der Primärachse (ax) und übergeben Sie die kombinierte Zeilenliste und Beschriftungsliste:
<code class="python">ax.legend(lns, labs, loc=0)</code>
Nach dem Login kopieren

Durch Befolgen dieser Anweisungen können Sie effektiv alle Linienbeschriftungen in einer einzigen Legende anzeigen, unabhängig davon, ob sie zur primären oder sekundären Achse gehören.

Das obige ist der detaillierte Inhalt vonWie füge ich mit TwinX Beschriftungen für Primär- und Sekundärachsen in einer Legende hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage