本記事では、棒グラフの見方とPythonによるその描画方法について解説していきます。
使い所
棒グラフは、あるグループのデータが複数あって、その複数データを比較する際に適しているグラフです。部門別の売上を比較したい場合や、ある人の教科別の得点などを比較したい場合に用いるのが良いでしょう。棒グラフを使用すると、どのグループの数値が大きいのか、小さいのかが一目でわかるので便利です。棒グラフでは、横軸にはカテゴリ変数、つまりどのグループを表す変数、縦軸にはその値を表します。
棒グラフの利点としては、大小関係が把握しやすいことです。棒の高さがそのまま値になっているため、直感的に大小関係を把握しやすくなっています。単に表データだけ眺めると把握しづらいですが、図を見ると一目でわかるため便利です。
描画方法
matplotlibを使用して折れ線グラフを描画する場合は、bar()メソッドを使用します。以下にプログラムを示します。ここでは、日本の人口を例に描画してみます。
df = pd.read_csv("c01.csv", encoding="shift-jis")
df = df.drop(columns="注")
df = df.dropna()
# 2015年のデータのみ抽出
year_2015 = df[df["西暦(年)"] == 2015]
# 関東のデータのみ抽出
kanto_2015 = year_2015[year_2015["都道府県名"].isin(["東京都", "千葉県", "埼玉県", "神奈川県", "群馬県", "栃木県", "茨城県", "山梨県"])]
fig, ax = plt.subplots(figsize=(15, 5))
ax.bar(kanto_2015["都道府県名"], kanto_2015["人口(総数)"].astype(int))
ax.yaxis.set_major_formatter(ScalarFormatter(useMathText=True))
ax.set_ylabel("人口")
ax.set_xlabel("都道府県名")
ax.grid(axis="y")
plt.show()
上記のプログラムを実行すると、下図のようなグラフが描画されます。
グラフの読み取り方
棒グラフでは、グループ間の大小関係について注目しましょう。上記で描画したグラフを例に見ていきます。この図からも、栃木県と群馬県はほとんど同じ人口であることがわかります。他にも、東京都が一番人口が多く、千葉県の約2倍の人口だということもわかります。このように折れ線グラフは、注目しているグループの大小関係を可視化するのに有効です。
棒グラフを作成する際も、読み取る際も一つ注意点があります。縦軸の目盛りに注意することです。目盛の値で大小関係を誇張したり、矮小化したりすることができてしまいます。グラフの縦軸の原点が0でないと棒の高さと数値が比例しないので、間違った解釈を生んでしまいます。原則としては縦軸の原点は0にすることにしましょう。
例えば、以下の図のようなグラフを見ると、栃木県と群馬県の人口がかなり違って見えると思います。しかし縦軸に注目すると、そもそも目盛が1.973から始まっており、1.975で終了していることがわかります。このように、縦軸の範囲と目盛設定した場合、本当はほぼ同じ値なのに、二つがかなり違って見えるようにグラフを作成することができてしまいます。グラフを作成するときには、目盛の設定が適切か、誤解を招くようなグラフになっていないかを常に確認するようにしましょう。
まとめ
本記事では、棒グラフの描画方法とその見方について解説しました。描画はPythonのmatplotlibのbarメソッドを使用して描画しました。
棒グラフでは、あるグループ間の値の大小関係を把握しやすいことが特徴でした。最大値はどのグループが持つのか、などが視覚的に把握しやすいです。
また、グラフを描画する際には縦軸の目盛りが適切に設定されているかを確認しましょう。誤解を招かないようなグラフを描画するように注意しましょう。
コメント