このエントリーをはてなブックマークに追加

Advent Calendar 2013 - 12

Python で解析! - matplotlib - 2

データ操作が続いたところで、久しぶりにチャートを取り上げる。

1. いつものごとく準備から

まずは、データの用意を…。

import pandas as pd
df = pd.DataFrame({
   u'睦月': [18100, 22000, 6800, 14100],
   u'如月': [14600, 29000, 8800, 12100],
   u'弥生': [9900, 12000, 13000, 8500]
}, index = [u'山田', u'鈴木', u'佐藤', u'木村'])

まあ、なんでもいいのだが、月毎の出費額っぽいダミーのデータにしてみた。

2. 棒グラフ

Notebook を使うがいいのだが、ブログの都合で、コンソールで簡単にチャートが表示されるように ipython を起動する。

$ ipython --pylab=inline

お手軽に棒グラフを書いてみる。

df.plot(kind='bar')
../../../_images/Fig1.png

各人の支出額が分かりやすく表示された。次は、データの行列を入れ替えて棒グラフを表示してみる。

df.T.plot(kind='bar')
../../../_images/Fig2.png

今度は、横軸が陰暦になった。

3. 積み上げ棒グラフ

各人の総額で比べるために、積み上げてみる。

df.plot(kind='bar', stacked=True)
../../../_images/Fig3.png

先ほどと同様に行列を入れ替えると、月ごとの比較になる。

df.T.plot(kind='bar', stacked=True)
../../../_images/Fig4.png

4. 横向き

横向きにするなら kind を barh にする。

df.plot(kind='barh', stacked=True)
../../../_images/Fig5.png
df.T.plot(kind='barh', stacked=True)
../../../_images/Fig6.png

今回はこんなところで。