2016-11-08 3 views
1

Ich habe einen Datenrahmen, der wie folgt aussieht:Plotten N Anzahl von Graphen

   spot  total 
date_delivery  
2016-06-21  x   20 
2016-07-25  x   22 
2016-08-14  x   25 
2016-09-11  y   16 
2016-10-16  y   10 

Der Index des Datenrahmen ist in ein datetime Format. Ich möchte ein einfaches Diagramm für jeden einzelnen Punkt erstellen, der die Gesamtsumme im Zeitverlauf anzeigt. Ich habe Probleme, eine Schleife zu schreiben, die das ausführt, und speichert jedes. Denken Sie daran, dass, während es nur 2 tatsächliche spots in diesem DataFrame gibt der echte viel mehr hat.

Antwort

1

Anfügen Stelle auf den Index, groupby Stelle und dann plotten

df.set_index('spot', append=True).groupby(level='spot').plot(kind='bar') 

Für Ihr Beispiel zwei Balkendiagramme erhalten werden, eine für x, eine für y, direkt untereinander (aber Sie können anpassen das)

+0

Danke! Das hat funktioniert. Wie würde ich alle speichern, ohne es manuell zu tun? –

+0

'importieren Sie matplotlib.pyplot als plt', dann' plt.savefig ('myfig.jpg') 'zum Beispiel. Ziemlich sicher, dass Sie Ihr groupby-Objekt durchlaufen müssen, um jedes einzeln zu speichern. –

Verwandte Themen