Up

東京都の人口の棒グラフ

 

東京都の人口の資料(住民基本台帳による東京都の世帯と人口(町丁別・年齢別)/令和61月)を、東京都のホームページ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()

 

 

 

 

Home