japanmap
前回、PythonでJoblibライブラリを使って並列処理を行う方法を紹介しました。
今回は日本地図を表示するライブラリjapanmapを紹介します。
ただこのライブラリは日本地図をmatplotlibのグラフとして出力するようで、matplotlibも必要とします。
ということでとりあえず分類としてはmatplotlibにしてあるというわけです。
それでは始めていきましょう。
japanmapのインストール
最初にjapanmapライブラリをpipでインストールします。
pip install japanmap
日本地図を表示
とりあえず日本地図を表示してみましょう。
インポートするライブラリは「japanmap」以外に「matplotlib.pyplot」も必要です。
import matplotlib.pyplot as plt
from japanmap import picture
plt.imshow(picture())
実行結果
画像サイズを変えるには通常のmatplotlibのグラフサイズを変える方法と同じで「fig = plt.figure(figsize=(X,Y))」を使います。
import matplotlib.pyplot as plt
from japanmap import picture
fig = plt.figure(figsize=(8,8))
plt.imshow(picture())
実行結果
特定の都道府県に色を塗る
japanmapでは特定の都道府県に色を塗ることができます。
その場合は辞書を使い、「辞書名 = {“都道府県名”:”色”}」とします。
色の指定は「Blue」とか「Red」のような色の名前で指定する方法と「(255, 255, 255)」のようにRGBで指定する方法が使用できます。
最後に「plt.imshow(picture(辞書名))」とするとその都道府県と色のセットで表示されます。
import matplotlib.pyplot as plt
from japanmap import picture
fig = plt.figure(figsize=(8,8))
place = {"北海道":"Blue", "東京":(255, 0, 0)}
plt.imshow(picture(place))
実行結果
ちなみに指定できる範囲は都道府県で、市町村はエラーにはなりませんが、色が塗られません。
import matplotlib.pyplot as plt
from japanmap import picture
fig = plt.figure(figsize=(8,8))
place = {"東京":(255, 0, 0), "名古屋":"Green"}
plt.imshow(picture(place))
実行結果
画像の保存はmatplotlibのグラフの保存方法と同じで「plt.savefig(“保存先”)」でできます。
特定の地方のみ表示
japanmapでは特定の地方(関東とか関西とか)のみを表示することも可能です。
その場合は「pref_map」と「groups」をインポートします。
ただしこの場合は画像はsvg形式として出力されるので、保存方法も変わります。
import matplotlib.pyplot as plt
from japanmap import pref_map, groups
svg = pref_map(groups['関東'])
with open("kanto.svg", "w") as file:
file.write(svg.data)
実行結果
「pref_map」のオプションに「cols=”色”」を指定することで全体の色を指定することもできます。
import matplotlib.pyplot as plt
from japanmap import pref_map, groups
svg = pref_map(groups['関東'], cols="gray")
with open("kanto.svg", "w") as file:
file.write(svg.data)
実行結果
日本地図のような複雑な形のものをこれだけ簡単に表示させられるのはなかなかすごいなぁと思いました。
次回は日本だけでなく世界地図、また各地域の地図を表示させるgeopandasというライブラリを紹介します。
ではでは今回はこんな感じで。
コメント