Heim >Backend-Entwicklung >Python-Tutorial >Wie erstelle ich eine einheitliche Legende für mehrere Nebenhandlungen in Matplotlib?
In Matplotlib kann es beim Plotten von Daten über mehrere Unterplots hinweg oft wünschenswert sein, eine einzige Legende für alle Plots anzuzeigen . Dies ist besonders nützlich, wenn die Nebenplots ähnliche Linienstile, Farben oder Beschriftungen aufweisen. Durch die Konsolidierung der Legenden wird die Visualisierung vereinfacht und Unordnung vermieden.
Um dies zu erreichen, bietet Matplotlib eine praktische Funktion namens get_legend_handles_labels(). Diese Funktion kann auf der letzten Achse innerhalb des Rasters aufgerufen werden und sammelt alle erforderlichen Legendeninformationen aus den beim Plotten verwendeten label=-Argumenten. Die gesammelten Griffe und Beschriftungen können dann verwendet werden, um eine einzelne Legende für die gesamte Figur zu erstellen.
Wenn Sie beispielsweise neun Unterhandlungen in einem 3x3-Raster angeordnet haben, können Sie die Legendenelemente aus der letzten Unterhandlung mit abrufen den folgenden Code:
handles, labels = ax.get_legend_handles_labels()
wobei ax die letzte Nebenplotachse im Raster darstellt. Nachdem die Griffe und Beschriftungen gesammelt wurden, kann die Legende mit fig.legend() erstellt werden:
fig.legend(handles, labels, loc='upper center')
In diesem Fall wird die Legende an der Position „oben in der Mitte“ innerhalb der Figur positioniert. Das Argument loc= kann angepasst werden, um die Legende an einer beliebigen Stelle in der Abbildung zu platzieren.
Wenn Sie alternativ die Pyplot-Schnittstelle anstelle der Axes-Schnittstelle verwenden, kann der folgende Code verwendet werden, um Legendengriffe und Beschriftungen abzurufen:
handles, labels = plt.gca().get_legend_handles_labels()
wobei plt.gca() das aktuelle Achsenobjekt zurückgibt.
Das obige ist der detaillierte Inhalt vonWie erstelle ich eine einheitliche Legende für mehrere Nebenhandlungen in Matplotlib?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!