Dynamische Größenänderung des Figurenfelds für Legenden
Beim Platzieren von Legenden außerhalb der Plotachsen in Matplotlib können sie durch das Figurenfeld abgeschnitten werden . Dieses Problem tritt auf, wenn die Legendenlänge die Achsengröße überschreitet.
Vermeidung der Achsenverkleinerung
Im Gegensatz zu anderen Lösungen wird die Vermeidung der Achsenverkleinerung bevorzugt, um die Datensichtbarkeit aufrechtzuerhalten. Das Verkleinern der Achsen verringert die Lesbarkeit der Daten, insbesondere bei komplexen Diagrammen mit umfangreichen Legenden.
Dynamische Erweiterung des Figurenfelds
Um das Figurenfeld dynamisch zu erweitern, um die Legende aufzunehmen, Passen Sie den savefig-Aufruf wie folgt an:
fig.savefig('samplefigure', bbox_extra_artists=(lgd,), bbox_inches='tight')
wobei bbox_extra_artists zusätzliche Künstler (in diesem Fall die Legende) berücksichtigt, wenn die Größe des Begrenzungsrahmens bestimmt wird.
Beispielcode
Der folgende Code generiert einen Plot mit einer Legende außerhalb der Achsen und passt die Größe des Figurenfelds mithilfe von bbox_extra_artists automatisch an:
import matplotlib.pyplot as plt import numpy as np x = np.arange(-2*np.pi, 2*np.pi, 0.1) fig = plt.figure(1) ax = fig.add_subplot(111) ax.plot(x, np.sin(x), label='Sine') ax.plot(x, np.cos(x), label='Cosine') ax.plot(x, np.arctan(x), label='Inverse tan') handles, labels = ax.get_legend_handles_labels() lgd = ax.legend(handles, labels, loc='upper center', bbox_to_anchor=(0.5,-0.1)) text = ax.text(-0.2,1.05, "Aribitrary text", transform=ax.transAxes) ax.set_title("Trigonometry") ax.grid('on') fig.savefig('samplefigure', bbox_extra_artists=(lgd,text), bbox_inches='tight')
Dieser Code führt zu einem Plot mit der Legende außerhalb der Achsen. und das Figurenfeld wird dynamisch an die Legendengröße angepasst.
Fazit
Durch die Verwendung des bbox_extra_artists-Parameters in savefig können Sie das Figurenfeld dynamisch erweitern, um dies sicherzustellen Legenden außerhalb der Achsen werden nicht abgeschnitten. Dieser Ansatz bietet eine praktische und effektive Lösung ohne die Nachteile des Achsenschrumpfens.
Das obige ist der detaillierte Inhalt vonDynamisch erweiterbare Figurenbox für Legenden außerhalb der Achsen: Eine Lösung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!