06.7.14
タイルマップで地域スコアをコンパクト表示
(x, y, 値) を決めて Rectangle パッチを ax.add_patch で置き、plt.cm.Blues((score - 50) / 35) で値を色に変換し、ScalarMappable で凡例代わりのカラーバーを付けます。読み終えると、関東 82 と近畿 79 が濃い青、沖縄 52 が最も薄いという地域差を 9 枚のタイルから読み取り、自分の地域データを格子座標に割り当てて描けるようになります。直感 #
9 地域の顧客満足度を比べたいとき、日本地図を塗り分けると北海道が巨大で沖縄は点にしか見えず、面積の差が値の差に見えてしまいます。タイルマップは地域を同じ大きさの正方形に置き換え、北海道は右上、沖縄は左下というように「だいたいの位置」だけを格子の座標で再現します。色の濃さがスコアで、地域名とスコアの数字をタイルの中に書くので、地図の形を知らなくても読めます。地理的に隣り合う地域が格子でも隣になるよう配置しておくと、「西日本は全体に薄い」といった地域のまとまりも色の塊として見えます。
Python で描く #
次のコードは 9 地域について (列, 行, スコア) の格子座標を辞書で持ち、Rectangle パッチを 1 枚ずつ置いて Blues カラーマップで塗ります。タイルの中に地域名とスコアを書き、右にカラーバーを添えます。
| |

実行結果の読み方 #
タイルの色が濃いほどスコアが高く、関東 82 と近畿 79 が最も濃い青、沖縄 52 と四国 55 が最も薄い青です。タイルの位置は地図のおおまかな並びなので、東側(上・左)の列に濃いタイル、西側(右・下)に薄いタイルが集まっていれば、「東高西低」の地域差として読めます。すべてのタイルが同じ面積なので、北海道の 68 が広い面積で強調されることも、沖縄の 52 が小さくて見落とされることもありません。
使いどころと落とし穴 #
タイルマップは、都道府県や地域ごとのスコアを「面積に惑わされずに」比べたいときの図で、ダッシュボードやスライドの小さなスペースでも読めます。格子の配置は地理的な位置を近似しているだけなので、「隣接する県どうしの差」や「海岸線からの距離」のような空間的な分析には向かず、正確な位置関係が必要なら実際の地図を使うコロプレスマップに切り替えてください。タイルが小さいとラベルが潰れるので、47 都道府県なら figsize を大きくするか、スコアの数字を省いて色だけにします。色の範囲 Normalize(50, 85) をデータの範囲より広く取ると全タイルが似た色になって差が消えるため、最小値と最大値に近い範囲で固定します。
- 日本地図 — 都道府県別データを地図上に色分け
- カレンダーヒートマップ — 年間の日別指標を曜日×週で俯瞰
- 相関ヒートマップ — 変数間の相関を色で一覧