東京都の人口の棒グラフ
東京都の人口の資料(住民基本台帳による東京都の世帯と人口(町丁別・年齢別)/令和6年1月)を、東京都のホームページhttps://www.toukei.metro.tokyo.lg.jp/juukiy/2024/jy24000001.htmからダウンロード(2025.05.28)したファイルjy24qa0100.xlsとして得た。Pythonで処理しやすいように編集して、図1に示すExcelファイルTokyoPopu.xlsxを作成した。
図1
図1のファイルTokyoPopu.xlsxを読み込んで、棒グラフを作成するスクリプトをリスト1のように作成した。
Excelファイルからのデータの読み込みは、次のスクリプトで行っている。
data_frame =
pd.read_excel('TokyoPopu.xlsx')
print(data_frame)
cities = data_frame['区']
popu = data_frame['人口']
グラフ描画は、次のスクリプトである。
plt.bar(cities, popu)
plt.title('人口(人)')
plt.xticks(rotation=90)
plt.tight_layout()
plt.savefig('Fig1.png')
plt.show()
実行すると、図2のグラフを得る。
図2
グラフを人口順に並べた形で表示するときは、以下のスクリプトで出来る。
idx = np.argsort(popu)
print(idx)
s_cities = cities[idx]
s_popu = popu[idx]
plt.bar(s_cities, s_popu)
plt.title('人口(人)')
plt.xticks(rotation=90)
plt.tight_layout()
plt.savefig('Fig2.png')
plt.show()
実行すると、図3のグラフを得る。
図3
横棒グラフは、次のスクリプトで描くことができる。
"""
降順で並べ換え
"""
idx_d = np.argsort(-popu)
sd_cities = cities[idx_d]
sd_popu = popu[idx_d]
plt.barh(sd_cities, sd_popu)
plt.title('人口(人)')
plt.xticks(rotation=45)
plt.tight_layout()
plt.savefig('Fig3.png')
plt.show()
実行すると、図4の横棒グラフを得る。
図4
リスト1 ファイルは圧縮ファイルtokyopopufiles.zipにまとめた
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import japanize_matplotlib # 日本語表示用モジュール
data_frame =
pd.read_excel('TokyoPopu.xlsx')
print(data_frame)
cities = data_frame['区']
popu = data_frame['人口']
plt.bar(cities, popu)
plt.title('人口(人)')
plt.xticks(rotation=90)
plt.tight_layout()
plt.savefig('Fig1.png')
plt.show()
"""
人口順に並べ換え
"""
idx = np.argsort(popu)
print(idx)
s_cities = cities[idx]
s_popu = popu[idx]
plt.bar(s_cities, s_popu)
plt.title('人口(人)')
plt.xticks(rotation=90)
plt.tight_layout()
plt.savefig('Fig2.png')
plt.show()
"""
降順で並べ換え
"""
idx_d = np.argsort(-popu)
sd_cities = cities[idx_d]
sd_popu = popu[idx_d]
plt.barh(sd_cities, sd_popu)
plt.title('人口(人)')
plt.xticks(rotation=45)
plt.tight_layout()
plt.savefig('Fig3.png')
plt.show()