Ich möchte ein Pandas-Zeitreihenobjekt data
mit Matplotlib darstellen. Für ein einfaches Liniendiagramm data.plot()
konnte ich das Datumsformat der x-Achse erfolgreich mit ax.xaxis.set_major_formatter(md.DateFormatter('%Y-%m-%d %H:%M:%S'))
ändern.
Allerdings kann ich das für ein Balkendiagramm data.plot(kind='bar')
nicht tun. Und das Diagramm würde nicht erscheinen. Gibt es eine Möglichkeit, das Datenformat für Pandabalken zu ändern? Ich weiß, dass ich ein Diagramm mit plt.bar-Methode erstellen kann, aber ich muss Pandas gestapelt Balkendiagramm für kompliziertere Daten verwenden.
Da Pandas einfach Matplotlib verwenden, können Sie natürlich ein identisches (gestapeltes) Balkendiagramm mit Matplotlib erstellen. Es gibt keinen Grund, warum du nur Pandas dafür benutzen kannst.
Es wird jedoch in diesem Fall nicht helfen. Matplotlib bar()
ändert die xvalues von Daten in floats, daher funktioniert DateFormatter
nicht mehr. Sie können die Xticks mit ax.get_xticks()
überprüfen.
Ich sehe nicht, wie Sie die Xticks-Daten erstellen können, aber Sie können die X-Ticklabels selbst überschreiben:
%Vor% Wenn Sie Ihre Daten mit groupby
gruppiert haben, können Sie dasselbe wie oben mit
Mine wurde summiert und nach Monat gruppiert, sodass das index
Tupel nur (2009,4)
zum Beispiel war. Offensichtlich, wenn Sie mehr Aspekte zu Ihrem Tupel haben (d. H. Tag, Stunde), würden Sie diese der datetime-Funktion hinzufügen
Tags und Links matplotlib pandas