2017-07-20 5 views
0

Ich habe die folgenden Pandas Datenrahmen, und ich möchte ein Liniendiagramm haben, dass die ersten 10 Punkte anders gefärbt sind als der Rest.Pandas Liniendiagramm mit verschiedenen Farben

df = [ 

    A   B 
2017-05-01 31.98 
2017-05-02 31. 
2017-05-03 30.41 
2017-05-04 29. 
2017-05-05 29. 
2017-05-06 28.48 
2017-05-07 27.73 
2017-05-08 26. 
2017-05-09 26.29 
2017-05-10 27. 
2017-05-11 28.56 
2017-05-12 30. 
2017-05-13 31.66 
2017-05-14 33. 
2017-05-15 35.67 
2017-05-16 38. 
2017-05-17 40.59 
2017-05-18 43. 
2017-05-19 46.42 
2017-05-20 49.68 
2017-05-21 53. 
] 

Ich versuchte es in matplotlib zu tun, wie

plt.plot(df[B][:11]) 
plt.plot(df[B][11:]) 
plt.show() 

aber ich habe zwei verschiedene Linien in einer Figur. Ich möchte stattdessen eine durchgehende Linie mit zwei verschiedenen Farben. Ich lese ähnliche Frage in this link, aber ich konnte es nicht implementieren.

Antwort

1

Ich denke, das ist das, was Sie wollen:

df.A = pd.to_datetime(df.A) 

plt.plot(df.A[:11], df.B[:11]) 
plt.plot(df.A[10:], df.B[10:]) 

plt.xticks(rotation=45) 

plt.show() 
+0

Genau, aber meine X-Achse ist eine Datetime und nicht die Zahlen. –

Verwandte Themen