Heim  >  Artikel  >  Backend-Entwicklung  >  Wie zeige ich Beschriftungen beider Achsen in einer einzigen Legende an, wenn ich „twinx()“ in Matplotlib verwende?

Wie zeige ich Beschriftungen beider Achsen in einer einzigen Legende an, wenn ich „twinx()“ in Matplotlib verwende?

Linda Hamilton
Linda HamiltonOriginal
2024-11-01 06:16:01470Durchsuche

How do I display labels from both axes in a single legend when using `twinx()` in Matplotlib?

Hinzufügen einer Sekundärachsenlegende zu einem Twinx()-Plot

In einem Plot mit zwei y-Achsen, der mit twinx() erstellt wurde, Hinzufügen Den Zeilen Beschriftungen hinzuzufügen und sie in einer Legende anzuzeigen, kann eine Herausforderung sein. Zunächst erscheinen möglicherweise nur die Beschriftungen der Primärachse in der Legende.

Um dieses Problem zu beheben, fügen Sie eine Legende für die Sekundärachse hinzu, indem Sie die folgende Zeile verwenden:

ax2.legend(loc=0)

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

Wenn Sie jedoch alle Beschriftungen in einer einzigen Legende haben möchten, befolgen Sie diese Schritte:

  1. Definieren Sie beide Achsen und zeichnen Sie die Linien :

    ax = fig.add_subplot(111)
    ax2 = ax.twinx()
    
    lns1 = ax.plot(...)
    lns2 = ax.plot(...)
    lns3 = ax2.plot(...)
  2. Definieren Sie die Legendengriffe und Beschriftungen:

    lns = lns1 + lns2 + lns3
    labs = [l.get_label() for l in lns]
  3. Fügen Sie die Legende hinzu mit:

    ax.legend(lns, labs, loc=0)

Bei diesem Ansatz werden alle Achsenbeschriftungen in einer einzigen Legende angezeigt.

Das obige ist der detaillierte Inhalt vonWie zeige ich Beschriftungen beider Achsen in einer einzigen Legende an, wenn ich „twinx()“ in Matplotlib verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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