2016-08-22 7 views
1

Ich mache einen Barplot aus einem Datenrahmen mit einem 15min Datetime Index über ein paar Jahre. Mit diesem Code:Pandas Plotten: Wie formatiere Datetimeindex?

df_Vol.resample('A',how='sum').plot.bar(title='Sums per year', style='ggplot', alpha=0.8) 

Leider sind die Zecken auf der X-Achse werden nun mit dem vollständigen Zeitstempel wie folgt dargestellt: 2009-12-31 00:00:00.

Ich würde es vorziehen, den Code für das Plotten kurz zu halten, aber ich konnte keine einfache Möglichkeit finden, den Zeitstempel einfach auf das Jahr (2009...2016) für die Handlung zu formatieren.

Kann jemand dabei helfen?

+0

siehe bezogen werden: http://stackoverflow.com/questions/34207409/formatting-of-datetimeindex-in-plot-pandas?rq=1 – EdChum

+0

Dank EdChum Ich hatte gehofft, dass es einen Parameter wie ('% Y') geben würde, um dies im Befehl df.plot() zu formatieren. –

Antwort

1

Da es nicht möglich zu sein scheint, das Datum innerhalb der Pandas df.plot() zu formatieren, habe ich beschlossen, einen neuen Datenrahmen zu erstellen und daraus zu plotten.

Die Lösung unten für mich gearbeitet:

df_Vol_new = df_Vol.resample('A',how='sum') 
df_Vol_new.index = df_Vol_new.index.format(formatter=lambda x: x.strftime('%Y')) 
ax2 =df_Vol_new.plot.bar(title='Sums per year',stacked=True, style='ggplot', alpha=0.8)