2017-01-07 13 views
3

私のデータには日時インデックスがあります。私はデータを再サンプリングし、異なる月がすべて異なる色になるように視覚化したいと思います。ここに私のデータです異なる月に色を付けることはできますか?

Time  Count 
2016-08-07 88 
2016-08-14 95 
2016-08-21 86 
2016-08-28 81 
2016-09-04 92 
2016-09-11 89 
2016-09-18 93 
2016-09-25 83 
2016-10-02 78 
2016-10-09 90 
2016-10-16 87 
2016-10-23 79 
2016-10-30 91 
2016-11-06 90 
2016-11-13 87 
2016-11-20 97 
2016-11-27 83 
2016-12-04 63 

どのように私は毎月異なる色になるようにこのデータをプロットすることができますか?

+0

あなたは 'bash'の端末を使用していますか? –

+2

どのようなプロットを使用したいですか? – Bonifacio2

+0

matplotlibでパンダの日付をプロットしたい場合は、これを試してみてください: [matplotlibでプロットの日付を記入](http://stackoverflow.com/questions/25416955/plot-pandas-dates-in-matplotlib) –

答えて

3

。あなたは下の言葉で好きなものに色を変えることができ、これらはリストの理解に使用されます。

df['month'] = df.index.to_datetime().month 

colors = {8: 'r', 9: 'b', 10: 'g',11: 'y', 12: 'w',} 
df['Count'].plot(kind='bar', color=[colors[i] for i in df['month']]) 

enter image description here

+1

x軸をより良く表示するために 'rot = 45'を追加します。 – Leb

0

これはプロット用ではありませんが(私は以下に追加しました)、これが興味深い場合はデータフレームのテキスト出力に色を付けることもできます。私はそれがデータのグループを識別するのに役立つことがわかります。

新しいdf['month']列が作成されました。styleを使用して、月に色を付けるために、以下に適用した関数が表示されます。 「各バーはすべて同じ色を持つように別々の月に属する」の要求を1として

df['month'] = df.index.to_datetime().month 

def color_monthd(val): 

    color = 'blue' if val == 8\ 
    else 'orange' if val == 9\ 
    else 'purple' if val == 10\ 
    else 'red' if val == 11\ 
    else 'black' 

    return 'color: %s' % color 

s = df.style.applymap(color_monthd) 

enter image description here

関連する問題