はじめに
この記事はPandasを用いた棒グラフの作成(前編)|Pythonの続き
今回は前回の棒グラフの見た目を整える
この記事は、以下の著作物を改変して利用しています。
あいちの人口(2024年9月1日現在) 愛知県人口動向調査結果 月報、愛知県、クリエイティブ・コモンズ・ライセンス
表示2.1日本(http://creativecommons.org/licenses/by/2.1/jp/)
前回作成したグラフ
前回は棒グラフを描画したところで終わっていたが、このグラフには様々な問題点がある
特に市町村名が見切れていて、北名古屋市が名古屋市に見えるのは大問題
改善
ソースコードは以下の通り
import pandas as pd
import matplotlib.pyplot as plt
import japanize_matplotlib
# データの読み込みと抽出
df = pd.read_csv('population.csv', encoding='shift_jis')
df = df[(df["国籍区分"]=="a)日外") & (df["性別"]=="a)男女") & (df["ブロック"]=="尾張中西部・海部")]
# 市区町村列の作成
city = df.apply(lambda x : x["郡市"] if x["区町村"] == "―" else x["区町村"], axis = 1)
df["市区町村"] = city
df = df.sort_values(by="20240901", ascending=False, ignore_index=True)
# 棒グラフの描画
df.plot.bar(x="市区町村", y="20240901", figsize = (9, 6), legend = False, title = "尾張中西部・海部ブロックの推計人口(2024年9月1日)")
plt.xticks(rotation=0)
plt.ylabel('人口')
plt.show()
今回改善した点は以下
- 人口を降順にソート(ソートの仕方はこの記事→Pandasで愛知県の人口が多い市区町村順に並び替える|Python)
- figsizeでグラフのサイズを大きくする
- 凡例は今回は不要なので削除:legend
- グラフタイトル、軸ラベルを追加
- x軸の目盛りを回転させる
figsizeの数値は試行錯誤するしかない
しかし、その他はplot.barの引数か、pyplotのメソッドで変更可能なので難しくはなかった
実行結果
個人的には、タイトルがつくと一気にグラフぽくなったと感じる
また、ソートしたことで見やすくなったと感じた
今後は他の種類のグラフも描画してみたい
コメントを残す