Heim > Artikel > Backend-Entwicklung > Wie verhindere ich, dass Beschriftungen in Matplotlib-Plots abgeschnitten werden oder sich überlappen?
Abstand mit abgeschnittenen oder überlappenden Beschriftungen anpassen
Problem:
Bei Verwendung von matplotlib zum Plotten Bei Daten mit großen oder komplexen Beschriftungen können die Beschriftungen abgeschnitten sein oder sich mit den Achsen überlappen. Dies kann sowohl bei einzelnen Plots als auch bei Subplots auftreten.
Lösung:
Um den Abstand um die Beschriftungen anzupassen, verwenden Sie die Funktion plt.subplots_adjust(). Diese Funktion benötigt mehrere Argumente, darunter unten, oben, links und rechts, die den Abstand in jeder Richtung angeben.
Um beispielsweise den Abstand am unteren Rand des Diagramms zu erhöhen, um Platz für ein zu schaffen großes x-Label, verwenden Sie:
import matplotlib.pyplot as plt plt.subplots_adjust(bottom=0.15)
Um zu verhindern, dass sich Beschriftungen mit den Achsen überlappen, können Sie den gleichen Ansatz verwenden, um die Polsterung um die Achsen herum anzupassen. Um beispielsweise den Abstand links und unten im Diagramm zu erhöhen, verwenden Sie:
plt.subplots_adjust(left=0.15, bottom=0.15)
Alternative Lösung: plt.tight_layout()
Seit der Einführung In Matplotlib Version 1.5 können Sie auch die Funktion plt.tight_layout() verwenden, um den Abstand um den Plot automatisch anzupassen, um zu verhindern, dass Beschriftungen abgeschnitten werden oder sich überlappen. Diese Funktion ist praktischer und liefert oft bessere Ergebnisse als die manuelle Anpassung der Polsterung.
Um beispielsweise plt.tight_layout() mit Unterplots zu verwenden, verwenden Sie:
fig, axes = plt.subplots(ncols=2, nrows=2, figsize=(8, 6)) axes = axes.flatten() for ax in axes: ax.set_ylabel(r'$\ln\left(\frac{x_a-x_b}{x_a-x_c}\right)$') ax.set_xlabel(r'$\ln\left(\frac{x_a-x_d}{x_a-x_e}\right)$') plt.tight_layout() plt.show()
Das obige ist der detaillierte Inhalt vonWie verhindere ich, dass Beschriftungen in Matplotlib-Plots abgeschnitten werden oder sich überlappen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!