Aktualisierte MRE mit Nebenschauplätzen
- Ich bin mir nicht sicher, ob die ursprüngliche Frage und MRE sinnvoll sind. Die Randauffüllung scheint für große x- und y-Beschriftungen richtig eingestellt zu sein.
- Das Problem ist bei Teilflächen reproduzierbar.
-
Verwendung von
matplotlib 3.4.2
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.show()
Original
Ich zeichne einen Datensatz mit matplotlib
wo ich ein xlabel habe, das ziemlich "hoch" ist (es ist eine in TeX gerenderte Formel, die einen Bruch enthält und daher die Höhe von ein paar Zeilen Text hat).
Auf jeden Fall ist der untere Teil der Formel immer abgeschnitten, wenn ich die Zahlen zeichne. Das Ändern der Zahlengröße scheint nichts daran zu ändern, und ich habe nicht herausgefunden, wie ich die x-Achse nach oben verschieben kann, um Platz für das x-Label zu schaffen. So etwas wäre eine vernünftige Übergangslösung, aber es wäre schön, wenn es eine Möglichkeit gäbe, Matplotlib automatisch erkennen zu lassen, dass die Beschriftung abgeschnitten ist und die Größe entsprechend zu ändern.
Hier ist ein Beispiel dafür, 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)$', fontsize=50)
plt.title('Example with matplotlib 3.4.2\nMRE no longer an issue')
plt.show()
Das y-Label ist vollständig sichtbar, das x-Label ist jedoch unten abgeschnitten.
Für den Fall, dass dies ein maschinenspezifisches Problem ist, führe ich dies auf OSX 10.6.8 mit matplotlib 1.0.0