Ternary plot をTableauで実現する
Ternary Plot、3次元プロット?をTableauで実装してみます。
Tearnary Plotは3次元の構成要素を正三角形内にプロットするVizです。
Tableau Public に Tearnary Plot のサンプルが多々 Publish されているので、
それを見ていただくとイメージがつかめます。
僕もこれらを参考に、以下設計していきます。
データ
e-statから市区町村の年齢3階級別人口を取得しました。
この3カテゴリの構成比データを2次元座標データに加工し、 Tableau上でTernary Plotとして描写するのが本記事のゴールです。
上記e-statでデータを加工し、以下のデータを取得します。
余計な情報はcsv上で処理し、Tableauへ渡します。
Tableau上での描写
Tableauに渡した段階のデータはこちらになります。
ここから、以下のとおり構成比のメジャーを作成します。
このデータをどう2次元座標データにするかという問題には、wikipediaに答えがあります。
以下計算式により、3次元のa,b,cデータをデカルト座標にプロットできます。*1
TableauでX, Yのメジャーを以下のとおり作成します。
/// X (1/2) * ( (2*[B:15-64]+[C:65]) / ([A:-15]+[B:15-64]+[C:65]) )
///Y (SQRT(3)/2) * ( [C:65] / ([A:-15]+[B:15-64]+[C:65]) )
あとはX, Yのメジャーを行列に配置し、 詳細に市町村名を配置、適当に都道府県等のディメンションで色分け、pointの大きさを人口にしてみます。
X,Yの軸の範囲は0~1に固定しておきましょう。 また、レポートの背景色・罫線などの情報は削除しておきます。
別にダッシュボードを作成、 背景に上記wikipediaで公開されているTernary Plotの画像を適当に拝借しましょう。
設置した背景の上に作成したレポートを浮動オブジェクトで合わせます。
これで完成、全国市区町村の年齢3階級別構成比を2次元のTernary Plotで表現できました。
Public Garrary上の動かせるデータはこちらです。
appendix
正直、市区町村年齢構成の大勢はそこまで変わりませんので、
DataViz作品としては微妙でしたね。
もう少し時系列データで遷移を見たりすると面白いかもしれません。
3次元かつ、それぞれの軸が百分率で表現できる指標にすると、こちらのVizで表現できます。
機会があったら他の例もつくってみたいと思います。