Tableauレーダーチャート作ってみる
たまには
Tableau Data Saberの課題や、オープンデータによる分析をしていると、Vizを意識するというより答えを導出する作業がメインになっている気がします。
たまには、趣向を変えて作ってみたいグラフや、おもしろいVizを作ってみようと思います。
レーダーチャート
Tableauではあんまり実装する機会が無いレーダーチャートを作ってみたいと思います。
三角関数とかの概念が入っていればなんとなーく分かるかなと。
参考にしたものとしては、「Tableau レーダーチャート」で調べまくりました。
けど、人によってやり方全然違ったりするんでマジで注意です。
データソース
レーダーチャートをうまく活用できるものは無いか探してみると、coffee_quality.csvというデータがありました。(データソースの入手場所は前回の記事で書いてます)
ちょっと前からコーヒーを飲む機会も増えたので、しめしめ...。
中身を見てみましょう。
- 種類
- オーナー
- 出身国
- 農場名
- 会社
- 地域
- 加工方法
- 香り
- フレーバー(味)
- アフターテイスト
- 酸味
- ボディ
- バランス
- 均一性
- クリーンカップ
- 甘味
- 合計カップポイント
- 色
データ数としては1,300弱くらいあります。すギョい。
で、特に「香り」「フレーバー(味)」「アフターテイスト」「酸味」「ボディ」「バランス」「均一性」「クリーンカップ」「甘味」、最後に「合計カップポイント」の9項目+合計点はメジャーとなっています。
これをレーダーチャートにして、合計点も表示させると面白いんじゃね?と思い、このデータソースで進めます。
作ってみた
まずは作成するにあたって、縦持ちのデータである必要があります。一旦、ピボットします。
元データ
変換後
これで作りやすくなりました。ピボット後は、StatusとScoreという感じで名前を決めます。
次に各計算フィールドを作成します。レーダーチャートはx軸y軸に変換する必要があります。
・ステータス数
{FIXED:COUNTD([Status])}
・Radian
PI()/2-2*PI()/MAX([ステータス数])*(INDEX()-1)
・x軸
MAX([Score])*COS([Radian])
・y軸
MAX([Score])*SIN([Radian])
・各スコア
SQRT([x軸]^2+[y軸]^2)
こんな感じで準備します。
ちなみに、「各スコア」というのは元データに再変換しているイメージです。
このままだと-5.6とかわけわからん値が出るので。ちょっと自分でも何言ってるかわかりませんが。
ではこれでTableauいじります。
こんな感じになりました。
おー、いい感じ。6角形やったらもっと良く見えるんでしょうね。
ドロップダウンで全てのデータを1つずつ見れるようにしています。
もう一工夫
これだけでもいいんですが、もう一工夫したいということで。
合計カップポイントも入れたいと思います。これは9項目の点数を合計した値になります。
この値をレーダーチャートの真ん中にどーーーんと入れれたらいいやん。ということで、
「右クリック」→「すべて選択」→「注釈を付ける」→「マーク」
これで注釈を表示させて、「注釈を編集」からどーーーん!と目立たせれば完成です!
まじやらかしました。よくよく考えたら1,300のデータ×9項目(ピボット)×2グラフ(二重軸)分の注釈を無理矢理表示しようとしたから、パンクしちゃいましたね。
まったく動かなくなったので、色々試行錯誤してなんとか消すことに成功しました。
注釈表現は諦めて、もう1つシートを作ってそれをダッシュボードで重ねることにします。
こんなかんじでサクッと作って。
よし!これでOK。
合計ポイントだけじゃ寂しかったので、どこでだれが作ったかの情報も追加しました。
とりあえずこれで完成ということで今回はおしまいです。
↓今回作成したViz
Discussion