Heim >Backend-Entwicklung >Python-Tutorial >Wie positioniere ich eine Matplotlib-Legende außerhalb des Plotbereichs und passe ihre Größe an?
So positionieren Sie die Legende außerhalb des Handlungsbereichs
Problem:
Sie möchten Erstellen Sie mehrere Plots in einer einzelnen Figur, aber Sie müssen die Legende außerhalb des Plotbereichs positionieren. Darüber hinaus möchten Sie die Größe der Legende minimieren, indem Sie die Schriftgröße reduzieren.
Lösung:
1. Verwendung von bbox_to_anchor:
Mit dem Schlüsselwortargument bbox_to_anchor können Sie die Position des Legendenfelds relativ zu den Plotachsen angeben. Indem Sie bbox_to_anchor auf (1.1, 1.05) setzen, können Sie die Legende leicht über die Achsengrenzen hinaus verschieben:
ax.legend(bbox_to_anchor=(1.1, 1.05))
2. Verkleinern des Plotbereichs:
Eine andere Methode besteht darin, die Breite oder Höhe des aktuellen Plots zu verkleinern und die Legende entsprechend zu positionieren. Um beispielsweise die Breite des Diagramms um 20 % zu verkleinern und die Legende außerhalb der Achse auf der rechten Seite zu platzieren:
# Shrink current axis by 20% box = ax.get_position() ax.set_position([box.x0, box.y0, box.width * 0.8, box.height]) # Put a legend to the right of the current axis ax.legend(loc='center left', bbox_to_anchor=(1, 0.5))
3. Reduzieren der Schriftgröße der Legende:
Um die Größe des Legendenfelds zu reduzieren, können Sie den Parameter „fontsize“ in der Methode legend() verwenden:
ax.legend(fontsize=8)
4. Alternative Methoden:
Weitere Informationen zum Anpassen von Legenden finden Sie in der Matplotlib-Dokumentation: https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.legend.html
Das obige ist der detaillierte Inhalt vonWie positioniere ich eine Matplotlib-Legende außerhalb des Plotbereichs und passe ihre Größe an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!