python

【Python】japanmap を使用して日本地図を表示してみました

Pythonの講座を入門編ですが学びました。
基本的にはコピペでしたので、次は自分の考えた事が実現できるかをやってみたいと思い、課題を選びました。

gens
gens
日本地図を描こう

早速ググってみました。

【Python】japanmap を使用して日本地図を表示してみました

こちらのサイトの日本地図を表示させるを参考にしてみました。

私はJupyter Notebookで動かしています。

地図表示でエラーが発生

%matplotlib inline

import matplotlib.pyplot as plt
from pylab import rcParams

rcParams[‘figure.figsize’] = 8,8
plt.imshow(picture());

エラーメッセージ

ModuleNotFoundError Traceback (most recent call last)
<ipython-input-14-0b9bc5995de6> in <module>
4
5 rcParams[‘figure.figsize’] = 8,8
—-> 6 plt.imshow(picture());

C:\app\Anaconda3\lib\site-packages\japanmap\__init__.py in picture(dic)
16 def picture(dic=None):
17 “””ラスターデータ”””
—> 18 from cv2 import imread, floodFill
19 from PIL.ImageColor import getrgb
20 pos = [eval(s) for s in (‘0 15,15 52,6 57,9 54,19 52,9 52,19 52,24 ‘

ModuleNotFoundError: No module named ‘cv2’

gens
gens
1行目の「%matplotlib inline」はどんな意味があるんだ?

%matplotlib inlineについて

この方の説明によると、必要なコードのようなので、ここは問題なし。

エラーメッセージを見ると、「ModuleNotFoundError: No module named ‘cv2’」と表示されていますね。つまり、cv2がないという事です。

gens
gens
cv2?

私はanacondaをインストールしているので、anaconda navigatorのEnvironmentsでcv2を検索してみましたが、見つからないのでググってみました。

python cv2でググった結果

cv2はopencvにある、ライブラリーかなにかで有る事が分かりました。
話はそれますが、ググってみると、副産物として、新たにやりたいことが増えてきます。
cv2を調べたら、顔認識が出来る事を知りました。
PythonでOpenCVのよく使いそうな処理をまとめてみた

opencvをインストールしました。

エラーが発生していたコードを実行すると、白い日本地図が表示されました。
都道府県を指定して、色を変更する方法も、問題なくできました。

gens
gens
この機能があれば、色々と出来る事があるなと感じました。統計情報からデータを引っ張ってきて、視覚的に表現するとか。

ITエンジニアの有効求人倍率のデータを可視化する

ここでは、RESASからの、ダウンロードに時間を要しました。

RESASからのCSVダウンロード方法

  1. 画面の左上にメインメニューがあるので、そこを操作します。
    [雇用・医療/福祉マップ]を選択すると、ドロップダウンが右に表示されるので、[有効求人倍率]を選択します。
  2. グラフページが表示されます。
  3. 画面右の方にある、グラフを表示をクリックすると、画面が切り替わります。
  4. データをダウンロードボタンをクリックすると、zipファイルがダウンロードされます。
  5. 展開して「雇用_医療福祉_有効求人倍率_都道府県_中分類.csv」だけを
    所定のフォルダにコピーしましょう。

下準備が終わったので、コードを書いて、実行をすると、
有効求人倍率の結果を日本地図に反映させる事が出来ました。

日本地図を表示の応用

自分で応用してやってみようと思います。
出来るかどうか分かりませんが、調べてやってみようと思います。
結果は追記していきます。

  1. 1番低い県と、高い県の色を変えるをやってみよう。
  2. 市町村でも出来るのか調べてみよう。
  3. 世界地図でも出来るのかやってみよう。
  4. 地図に棒グラフを表示する。
  5. 県をクリックするとリンクに飛ぶ(これは多分今の方法だと無理)
ABOUT ME
genslife
30代男性 QOL(クオリティ・オブ・ライフ)を向上させる活動を記録します。 2017年から選択に迷ったら、今まで選ばなかった選択肢を取るようにしています。 迷ったらやる。