matplotlib Diagramm verbreitern?
Ich habe mit pandas ein Wörterbuch (data) ausgelesen und mit matplotlib eine Grafik erstellt:
import matplotlib.pyplot as plt
import pandas as pd
S = pd.Series(data)
S.plot(kind="bar", rot=90)
plt.plot()
plt.show()
Das Problem ist, dass es 778 Balken sind (sein sollten) und man deshalb die Beschriftung der X-Achsen nicht mehr sehen kann.
Wie kann ich das Diagramm, also so in die Breite ziehen, dass man alle X-Achsen Beschriftungen sehen kann?
Vielen Dank für eure Antworten.
1 Antwort
Du kannst den plot in eine figure speichern, und die größe der figure einstellen, z.B. sowas:
fig, ax = plt.subplots(nrows=1, ncols=1 ,figsize=(10,5))
Oder zeige nicht Werte der x-achse an falls es nicht unbedingt notwendig ist. Ich glaube das geht mit plt.xticks(). Du kannst auch versuchen die Beschriftung zu drehen, falls das sinnvoll ist, z.B. mit plt.xticks( rotation = 90 ).
Eine figure ist sowas wie ein virtuelles leeres Blatt, und dort kannst du dann deine plots rein speichern (z.B. mehrere übereinander legen, oder nebeneinander mit subplots). Die figure sollte man jedenfalls nach Gebrauch schließen, plt.close(fig). Siehe hier: https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.figure.html
Hier ist aber kein gutes Forum für sowas. Suche auf Englisch, und du wirst sehen dass etliche Leute vor dir dasselbe Problem hatten. Das Netz ist voll mit Lösungsvorschlägen dafür.
Vielen Dank für deine Antwort, kannst du mir das mit der Figur nochmal genauer erklären oder mir einen Link schicken? Das habe ich noch nicht ganz kapiert.
Die Schrift ist schon um 90Grad gedreht und mir ist die x-Achsen Beschriftung wichtig.