速報じゃなく報告になっていたので作成
平成28年報告 [8MB] https://www.mhlw.go.jp/content/10900000/000553552.pdf
e-statで公開
都道府県一覧-罹患数・率-全部位 C00-C96
https://www.e-stat.go.jp/stat-search/file-download?statInfId=000031868737&fileKind=0
参考
プログラム
import pandas as pd from japanmap import pref_code df = pd.read_excel( "https://www.e-stat.go.jp/stat-search/file-download?statInfId=000031868737&fileKind=0", index_col=0, ) df["都道府県"] = df["都道府県"].str.replace("\s", "") df["コード"] = df["都道府県"].apply(lambda x: pref_code(x)) df1 = ( df.loc[(df["コード"] > 0) & (df["コード"] < 48), ["コード", "都道府県", "年齢調整罹患率:日本人口(総数)"]] .set_index("コード") .sort_index() ) df1
MAP
import matplotlib.pyplot as plt from japanmap import picture, get_data, pref_map from matplotlib.colors import rgb2hex norm = plt.Normalize( vmin=df1["年齢調整罹患率:日本人口(総数)"].min(), vmax=df1["年齢調整罹患率:日本人口(総数)"].max() ) cmap = plt.get_cmap("bwr") c = df1["年齢調整罹患率:日本人口(総数)"].apply(lambda x: cmap(norm(x)))
SVG
cols = [rgb2hex(i) for i in c] svg = pref_map(df1.index, cols=cols, width=3) svg with open("japan.svg", "w") as fp: fp.write(svg.data)
PNG
plt.figure(figsize=(4, 4), dpi=200) plt.imshow(picture(c, 255)) # plt.colorbar(plt.cm.ScalarMappable(norm, cmap)) plt.tick_params( bottom=False, top=False, left=False, right=False, labelbottom=False, labeltop=False, labelleft=False, labelright=False, ) plt.savefig("japan.png")