2016-05-17 10 views
0

Angesichts der folgenden:Matplotlib Liniendiagramm von Pivot-Tabellen: Benutzerdefinierte Farbe der Linien

import pandas as pd 
import numpy as np 
%matplotlib inline 
df = pd.DataFrame(
     {'YYYYMM':[201603,201503,201403,201303,201603,201503,201403,201303], 
     'Count':[5,6,2,7,4,7,8,9], 
     'Group':['A','A','A','A','B','B','B','B']}) 
df['YYYYMM']=df['YYYYMM'].astype(str).str[:-2] 
t=df.pivot_table(df,index=['YYYYMM'],columns=['Group'],aggfunc=np.sum) 

fig, ax = plt.subplots(1,1) 
t.plot(ax=ax) 

Gibt es Argumente in t.plot(), die mir die Farben jeder Zeile zu spezifizieren erlauben würde?

enter image description here

Vielen Dank im Voraus!

Antwort

1

Sie können Linienstile bieten:

t.plot(ax=ax, style=['yellow', 'red']) 

enter image description here

+1

Super Idee, dass Sie die Antwort auf die vollständigen Namen der Farben ändern. ;) Es scheint eine bessere Lösung zu sein. – jezrael

+0

Ja, die Ein-Buchstaben-Versionen sind nur für schnelle Tests geeignet. –

1

Sie können:

ax.set_color_cycle(['red', 'black']) 

graph

Probe:

df = pd.DataFrame(
     {'YYYYMM':[201603,201503,201403,201303,201603,201503,201403,201303], 
     'Count':[5,6,2,7,4,7,8,9], 
     'Group':['A','A','A','A','B','B','B','B']}) 
df['YYYYMM']=df['YYYYMM'].astype(str).str[:-2] 
t=df.pivot_table(df,index=['YYYYMM'],columns=['Group'],aggfunc=np.sum) 

fig, ax = plt.subplots(1,1) 
ax.set_color_cycle(['red', 'black']) 
t.plot(ax=ax) 

EDIT:

Sehr interessant, indem sie es besser scheint, ist vollständigen Namen der Farben verwendet werden, da Es ist ein Unterschied wie Mike 1. answer:

t.plot(ax=ax, style=['yellow', 'red']) 
+0

Hallo Jezrael, warf er eine deprecation Warnung set_prop_cycle zu verwenden, aber so oder so, es scheint nicht, für mich zu arbeiten. Ich benutze Python 3.5, wenn das einen Unterschied macht. –

+0

Interessant, ich benutze auch Python 3.5. – jezrael