Erstellen einer einzelnen Legende für mehrere Matplotlib-Unterhandlungen
Beim Plotten ähnlicher Informationen über mehrere Unterhandlungen hinweg mit Matplotlib kann es von Vorteil sein, eine einzige zu erstellen Legende, die für alle Nebenhandlungen gilt. Dies vereinfacht die Interpretation der Daten, indem eine konsistente Referenz für die Linien in jedem Unterplot bereitgestellt wird.
Um dies zu erreichen, verwenden Sie die Funktion get_legend_handles_labels() auf der letzten Achse oder rufen Sie plt.gca().get_legend_handles_labels( auf. ), wenn Sie die Pyplot-Schnittstelle verwenden. Diese Funktionen sammeln die erforderlichen Legendenhandles und Beschriftungen aus den label=-Argumenten.
Um die einzelne Legende zu erstellen, rufen Sie fig.legend(handles, labels, loc='upper center') auf, wobei fig die enthaltende Figur ist Die Unterhandlungen und die Position geben die Position der Legende an.
Wenn Sie beispielsweise ein 3x3-Raster von Unterhandlungen mit identischen Linien haben, würde der folgende Code eine einzelne Legende über allen Unterhandlungen hinzufügen:
import matplotlib.pyplot as plt import numpy as np # Generate data for the subplots data = np.random.rand(9) # Create the subplots fig, axes = plt.subplots(3, 3) # Plot the data on each subplot for ax, datum in zip(axes.flatten(), data): ax.plot(datum) # Get the legend handles and labels handles, labels = plt.gca().get_legend_handles_labels() # Create the single legend plt.legend(handles, labels, loc='upper center') plt.show()
Das obige ist der detaillierte Inhalt vonWie erstelle ich eine einzelne Legende für mehrere Matplotlib-Unterhandlungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!