【Tableau Tips】Hexbin Mapの作り方、地理空間データの可視化で密度や分布がより分かりやすく表現できる!
ヘックスビンマップ(Hexbin map)は、地理情報システム(GIS)やデータ可視化の分野でよく使われる用語です。六角形のビンを使用してデータを集計し、密度や分布を効果的に視覚化する手法を指します。
Tableauにおいて、Hexbin Mapは地理的なデータを効果的に可視化できる手法の一つとしてよく紹介されますが、ほとんどの記事はアメリカのデータを使って紹介しているため、そのまま転用するのが難しいです。
この記事では、日本地図を描画できるデータも含め、ご紹介します。
Hexbin Mapのメリット
地図上で密度や分布を表現するために、直接データをドラッグ&ドロップしてもよいのですが、どのエリアにより集中しているかは若干分かりにくいです。
例えば、下記の画像は京都府において熊の目撃情報を表すものですが、どのエリアがよく目撃情報が出ているかを知るには、一回目で探す必要があります。
しかし、Hexbin Mapを使えば、各六角形のビンの色や濃淡を使って、その地域のデータ点の密度を表示することができるため、どの地域がデータが豊富か、またデータがどのように分布しているのかが直感的に理解しやすくなります。
Hexbin Mapの作り方
利用するデータセットについて
作り方1と2では、【京都府】クマ目撃情報を使っています。
作り方2では、さらに各都道府県のデータを使っています。
必要なデータは各都道府県の経度・緯度と、郵便番号です。①経度・緯度のデータと②郵便番号のデータをダウンロードし、Tableau内でJOINすれば使えます。
作り方1:Hexbin関数+カスタム形状
Step1:ビンの大きさを調整するパラメータを作る
Step2:経度・緯度のHexbin関数を作る
以下のように経度・緯度のHexbin関数をそれぞれ作る。
HexLon -- 経度のHexbin関数
HEXBINX(
[Lon]*[Hexbin Sizing],
[Lat]*[Hexbin Sizing]
)
/
[Hexbin Sizing]
HexLat -- 緯度のHexbin関数
HEXBINY(
[Lon]*[Hexbin Sizing],
[Lat]*[Hexbin Sizing]
)
/
[Hexbin Sizing]
HexLonを右クリックし、「地理的役割」の「経度」を選択し、HexLatも同じように「緯度」を選択します。
Step3:関数をシートに適用
HexLonとHexLatをディメンションにしてから、シートの行と列にドラッグアンドドロップします。
そして、実際のデータの状況に応じて、パラメータの「Hexbin Sizing」を調整します。
次は「マーク」のところで「形状」を選び、そこから六角形を適用し、サイズをよい具合になるように調整します。
※形状から六角形の選び方は下記記事をご参考ください。
※六角形素材のダウンロードURLも添付します。
最後は、表す密度のメジャーを色に適用するとできあがります。
作り方2:Hexbin関数+多角形
Step1:関数を作成
作り方1のデメリットは、ビンとビンは隣接していないことです。これを解決するために、多角形を使います。
作り方1で作った「HexLon」と「HexLat」以外、以下4つの関数も順番に作ります。
Angle
(PI()/3)*INDEX()
ToPad
IF [市町村コード(6桁)] =
{FIXED [HexLon], [HexLat]:MIN([市町村コード(6桁)])}
THEN 1 ELSE 6 END
MapLon
WINDOW_AVG(AVG([HexLon]))+
(1/[Hexbin Sizing])*COS([Angle])
MapLat
WINDOW_AVG(AVG([HexLat]))+
(1/[Hexbin Sizing])*SIN([Angle])
さらに、作った計算フィールド「ToPad」をディメンションに変換してから、サイズが1のビンを作って「Padded」と命名します。
「MapLon」と「Maplat」を作成するとき、「規定の表計算」をクリックし、「次を使用して計算」で「Padded」を選択してから、「地理的役割」の「経度」と「緯度」に変換します。
Step2:関数をシートに適用
「MapLon」と「MapLat」を列と行に適用します。
「マーク」を「多角形」にしてから「Padded」をドロップします。
そして、「Padded」を「パス」のところにさらにドロップします。
最初に作った「HaxLon」と「HaxLat」を「詳細」に適用します。
「HaxLon」と「HaxLat」を右クリックし、「次を使用して計算」で「Padded」を再度選択し、クリックします。
最後は必要に応じて、ビンと線の色を変更したり、サイズを調整したりすると出来上がります。
見て分かるように、作り方1に比べ、六角形のビンが隣接していて、密度の高いデータを使うときは作り方2のほうがより効果的です。
参考ですが、日本全国の地図を作りたい場合は、冒頭で紹介していた都道府県のデータセットを使えばできます。
ただし、こちらのデータセットは都道府県単位のものとなり、より細かくビンを分けたい場合は市区町村の経度・緯度と郵便番号を持つデータセットを用意する必要があります。
作り方3:ROUND関数+定数
こちらは有志が作ったデータセットを活用した方法です。
※オリジナル記事はURLからご覧ください。
各都道府県に定数をつけることで、相対位置を調整し、ダッシュボードに適用するときはより見やすくなります。デメリットとして密度を調整することができないです。
Step1:関数を作成
ROUND X
ROUND(-[横])
ROUNX Y
ROUND(-[縦])
Step2:関数をシートに適用
下記画像のように、「ROUND X」と「ROUND Y」を列と行に適用してから、「都道府県」を詳細にドロップします。
それから、形状を六角形に選択し、サイズを調整すればできあがります。
この作り方の良さは、都道府県ごとに1つのビンができていることです。
それぞれのビンの都道府県の名前や都道府県の売上などの数字ラベルを表示したいときに一番使いやすいです。
参考として、ROUND関数を活用した日本地図を表すダッシュボードはこちらです。
この記事が気に入ったらサポートをしてみませんか?