Heim >Backend-Entwicklung >Python-Tutorial >Wie erstelle ich eine einzelne Legende für mehrere Nebenhandlungen in Matplotlib?

Wie erstelle ich eine einzelne Legende für mehrere Nebenhandlungen in Matplotlib?

Susan Sarandon
Susan SarandonOriginal
2024-11-03 20:17:29305Durchsuche

How to Create a Single Legend for Multiple Subplots in Matplotlib?

Erstellen einer einzelnen Legende für mehrere Nebenhandlungen in Matplotlib

In Matplotlib ermöglicht das Erstellen mehrerer Nebenhandlungen nebeneinander die Visualisierung verschiedener Datensätze oder Aspekte eines einzelnen Datensatzes in einer einzigen Abbildung. Wenn diese Nebenhandlungen jedoch ähnliche Legenden haben, kann die Anzeige mehrerer Legenden unnötig und optisch unübersichtlich sein. Glücklicherweise bietet Matplotlib eine Lösung, um Legenden in einer einzigen, zusammenhängenden Darstellung zu konsolidieren.

Lösung: Verwenden von get_legend_handles_labels()

Um eine einzelne Legende für mehrere Nebenhandlungen zu erstellen, verwenden Sie die Funktion get_legend_handles_labels() auf der letzten Achse. Diese Funktion sammelt die notwendigen Informationen aus label=-Argumenten, sodass Sie manuell eine konsolidierte Legende erstellen können.

<code class="python">handles, labels = ax.get_legend_handles_labels()
fig.legend(handles, labels, loc='upper center')</code>

Hier:

  • ax stellt die letzte Achse im Subplot-Raster dar.
  • Handles ist eine Liste von Handles (Linien, Markierungen usw.), die die Legendeneinträge darstellen.
  • Labels ist eine entsprechende Liste von Beschriftungen für die Legendeneinträge.
  • loc Gibt die Position der Legende innerhalb der Abbildung an (z. B. „obere Mitte“ für oberhalb der Diagramme).

Wenn Sie die Pyplot-Schnittstelle anstelle der Axes-Schnittstelle verwenden, verwenden Sie diesen Code:

<code class="python">handles, labels = plt.gca().get_legend_handles_labels()</code>

Zusätzliche Überlegungen

  • Informationen zum Entfernen von Legenden aus einzelnen Nebenhandlungen finden Sie unter „Entfernen der Legende auf einer Matplotlib-Figur“.
  • Weitere Informationen zum Zusammenführen von Twiny-Legenden finden Sie unter „Sekundäre Achse mit Twinx(): Hinzufügen zur Legende“.

Das obige ist der detaillierte Inhalt vonWie erstelle ich eine einzelne Legende für mehrere Nebenhandlungen in Matplotlib?. 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