Warum ist mein xlabel in meinem Matplotlib-Plot abgeschnitten?
Bin ich Plotten eines datasets mit matplotlib
wo ich ein xlabel, dass ist ziemlich "groß" (es ist eine Formel wiedergegeben TeX enthält ein Bruchteil und deshalb hat die Höhe Gegenwert von ein paar Zeilen text).
In jedem Fall, unten die Formel ist immer abgeschnitten, wenn ich zeichne die Figuren. Ändernde Abbildung Größe scheint nicht zu helfen, und ich habe nicht in der Lage gewesen, um herauszufinden, wie sich eine Verschiebung der x-Achse "nach oben", um Platz zu machen für die xlabel. Wäre so etwas eine sinnvolle übergangslösung, aber was schön wäre, wäre ein Weg, um matplotlib erkennen automatisch, dass die Beschriftung abgeschnitten ist und entsprechend verkleinern.
Hier ist ein Beispiel was ich meine:
import matplotlib.pyplot as plt
plt.figure()
plt.ylabel(r'$\ln\left(\frac{x_a-x_b}{x_a-x_c}\right)$')
plt.xlabel(r'$\ln\left(\frac{x_a-x_d}{x_a-x_e}\right)$')
plt.show()
während Sie sehen können, die gesamte ylabel, der xlabel abgeschnitten am unteren Rand.
In dem Fall ist dies ein Computer-spezifisches problem, bei mir läuft das auf OSX 10.6.8 mit matplotlib 1.0.0
InformationsquelleAutor der Frage Andrew | 2011-07-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden:
Platz zu machen für das label.
Edit:
Da gab ich die Antwort,
matplotlib
hat dietight_layout()
Funktion.So schlage ich vor, es zu benutzen:
sollte Platz machen für das xlabel.
InformationsquelleAutor der Antwort tillsten
Eine einfache option ist die Konfiguration matplotlib zum automatischen einstellen der Parzelle. Es funktioniert perfekt für mich und ich bin nicht sicher, warum es nicht standardmäßig aktiviert.
Methode 1
Setzen Sie diese in Ihrem matplotlibrc Datei
Hier finden Sie weitere Informationen zum anpassen des matplotlibrc Datei: http://matplotlib.org/users/customizing.html
Methode 2
Update der rcParams während der Laufzeit wie diese
Der Vorteil bei dieser Vorgehensweise ist, dass Ihr code erzeugt die gleichen Diagramme auf unterschiedlich konfigurierten Maschinen.
InformationsquelleAutor der Antwort Amit Moscovich
Können Sie auch benutzerdefinierte Polsterung als Standardwerte in Ihren
$HOME/.matplotlib/matplotlib_rc
wie folgt. Im Beispiel unten habe ich verändert sowohl die unteren und linken out-of-the-box-padding:InformationsquelleAutor der Antwort Мати Тернер