前回の記事ではpandasのplotメソッドを使って、折れ線グラフにデータをプロットする例を紹介したが、今回は棒グラフにプロットする例を紹介しよう。
コンテンツ
サンプルデータセットの用意
必要なライブラリをインポートして、サンプルとなるシリーズを用意する。
import matplotlib as plt
import pandas as pd
import numpy as np
data = pd.Series(np.random.rand(16), index=list('abcdefghijklmnop'))
# a 0.029757
# b 0.272419
# c 0.447357
# d 0.314266
# e 0.597517
# f 0.764892
# g 0.741955
# h 0.277052
# i 0.680357
# j 0.966261
# k 0.634952
# l 0.427652
# m 0.525143
# n 0.373020
# o 0.159163
# p 0.088350
# dtype: float64
plot.barメソッドで縦棒グラフを描く
シリーズやデータフレームのplot.barメソッドを使うと、データを縦棒グラフへプロットすることができる。
この時、シリーズのインデックスはx軸の目盛として使われる。
data.plot.bar()
plot.barhメソッドで横棒グラフを描く
横棒グラフを描く場合は、plot.barhメソッドを使う。
シリーズのインデックスはy軸の目盛として使われる。
data.plot.barh()
データフレームから棒グラフへプロットする
データフレームから棒グラフへプロットする場合、各行の値はグルーピングされて描かれる。
df = pd.DataFrame(np.random.rand(6, 4),
index=['one', 'two', 'three', 'four', 'five', 'six'],
columns=pd.Index(['A', 'B', 'C', 'D'], name='Group'))
# Group A B C D
# one 0.024554 0.961763 0.605184 0.459349
# two 0.540856 0.446543 0.868348 0.761469
# three 0.240845 0.189343 0.592793 0.485723
# four 0.989029 0.216652 0.721413 0.924776
# five 0.193881 0.484769 0.260032 0.437120
# six 0.455335 0.194646 0.587198 0.539196
サンプルのデータフレームが用意できたらプロットを実行する。
df.plot.bar()
積み上げ棒グラフを描く
プロットする際の引数に、stacked=Trueを指定すれば積み上げ棒グラフをプロットすることができる。
df.plot.barh(stacked=True)