Heim > Backend-Entwicklung > Python-Tutorial > Wie werden Beschriftungen für beide Achsen in einer Twinx()-Plotlegende angezeigt?

Wie werden Beschriftungen für beide Achsen in einer Twinx()-Plotlegende angezeigt?

Patricia Arquette
Freigeben: 2024-11-03 07:38:02
Original
862 Leute haben es durchsucht

How to Display Labels for Both Axes in a Twinx() Plot Legend?

Sekundäre Achse mit twinx(): Zur Legende hinzufügen

Betrachten Sie ein Diagramm mit zwei y-Achsen, erstellt mit twinx(), mit Zeilen für jede Achse beschriftet. Bei Verwendung von legend() werden jedoch nur Beschriftungen für eine Achse angezeigt, mit Ausnahme der Beschriftung für die zweite Achse. Ziel dieses Artikels ist es, dieses Problem zu beheben und Ihnen eine Anleitung zum Hinzufügen der fehlenden Beschriftung zur Legende zu geben.

Twinx() und Legenden

Im bereitgestellten Beispiel ist twinx() wird verwendet, um eine zweite y-Achse (ax2) zu erstellen, die dieselbe x-Achse (Zeit) wie die primäre Achse (ax) hat. Beim Versuch, alle Beschriftungen in der Legende anzuzeigen, sind nur diejenigen sichtbar, die mit ax (Swdown und Rn) verknüpft sind, während die Beschriftung für ax2 (temp) fehlt.

Fehlende Beschriftung hinzufügen

Um die fehlende Beschriftung in die Legende aufzunehmen, gibt es zwei Ansätze:

Ansatz 1: Mehrere Legenden

Fügen Sie die folgende Zeile hinzu, um eine zu erstellen separate Legende für Achse2:

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

Dadurch erhalten Sie zwei Legenden, eine für jede Achse.

Ansatz 2: Konsolidierte Legende

Zu Führen Sie die folgenden Schritte aus, um alle Beschriftungen in einer einzigen Legende zusammenzufassen:

  1. Erstellen Sie eine Liste aller Linienobjekte (Linien von beiden Achsen):

    <code class="python">lns = lns1 + lns2 + lns3</code>
    Nach dem Login kopieren
  2. Beschriftungen für jede Zeile extrahieren:

    <code class="python">labs = [l.get_label() for l in lns]</code>
    Nach dem Login kopieren
  3. Verwenden Sie die Legendenfunktion, um alle Beschriftungen zu einer einzigen Legende auf der Achse hinzuzufügen:

    <code class="python">ax.legend(lns, labs, loc=0)</code>
    Nach dem Login kopieren

Beispiel

Der folgende modifizierte Code zeigt, wie mit Ansatz 2 die temporäre Beschriftung zur Legende hinzugefügt wird:

<code class="python"># ... (code as before)

# Combine lines and labels
lns = lns1 + lns2 + lns3
labs = [l.get_label() for l in lns]
ax.legend(lns, labs, loc=0)

# ... (remaining code)</code>
Nach dem Login kopieren

Dies führt zu einer einzelnen Legende, die alle Zeilenbeschriftungen enthält: Swdown, Rn und temp.

Das obige ist der detaillierte Inhalt vonWie werden Beschriftungen für beide Achsen in einer Twinx()-Plotlegende angezeigt?. 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