Tableauでつくるレーダーチャートについて

心は形を求め、形は心をすすめる。

2021年1月現在、Tableauの標準機能にはレーダーチャートはありませんが、工夫次第でつくることができます。

以前、「Tableauでレーダーチャートをつくってみた」と「Tableauでレーダーチャートをつくってみた(応用編)」にて、Tableauでレーダーチャートをつくってみました。相対的にスコアがわかりやすく比較できる一方で、少し準備が大変な部分もありました。

今回は、座標のデータを自分で取得したりデータ自体を加工したりしなくても実現できる、多角形を用いたレーダーチャートを作成してみました。


多角形でレーダーチャートをつくる:基本

今回は架空のレストランに対するアンケート評価のデータを使用して、レーダーチャートをつくってみたいと思います。下記のように、質問に対するスコア(5点満点)を回答したデータを作成しました。
図1


多角形によるレーダーチャートの具体的な作成手順は以下になります。

  1. 以下の計算式を準備する。

    Radians
    PI()/2 - 2*PI() / MAX({ FIXED :COUNTD([質問])})*(INDEX()-1)
    ※MAX({ FIXED :COUNTD([質問])})の部分の集計方法はデータに応じて変えてください。
    ※{ FIXED :COUNTD([質問])}ではディメンションのユニークな数をカウントして、1項目あたりの角度を計算しています。[質問]は「スピード」「価格」「接客」「内装」「味」の5種類があるので、1項目あたり72°ずつずれていきます。
    ※詳細は下の方で解説します。

    COS
    COS([Radians]) * AVG([回答])

    SIN
    SIN([Radians]) * AVG([回答])

    【Raiansの計算について】
    レーダーチャートでは、円状に[質問]ごとのスコアを並べるので、各[質問]ごとに座標をもたせる必要があります。[Radians]の計算式では、各[質問]に対して均等に角度をずらしながら座標を与えています。

    図3

    図2
    [COS]や[SIN]ではその角度を三角関数に変換し、回答のスコアを掛け算することで、スコアの大きさを三角関数に反映させています。(=スコアが大きいほど中心点から離れるようになる)

  2. 「マーク」を多角形にし、「パス」に[質問]、列に[COS]、行に[SIN]を入れる。[COS]と[SIN]の表計算の設定は[質問]にチェックを入れる。
    図4

    図5

    ちなみに、色の不透明度を0にして枠線をつけると、塗りつぶしではなく線でつないだレーダーチャートになります。
    図6


  3. スコアが分かりやすいように背景画像を設定する。「マップ」⇢「背景イメージ」から設定を行う。
    図8
    図7

    今回は[回答]のスコアが0~5の値を取るので、[COS]と[SIN]の範囲は-5~5の間になります。そのため、XフィールドとYフィールドの値もそのように設定しています。

  4. [COS]と[SIN]の軸の幅を-5~5で固定する (※使用するデータに応じて柔軟に設定してください)
    図9

  5. 不要なヘッダー等を削除し、色などを設定して完成!
    図10

多角形でレーダーチャートをつくる:スコアのラベルをつける

今度は上記で作成したレーダーチャートにラベルをつける方法です。
多角形では、「ラベル」に指標を入れることができないので、ひと工夫必要です。
図11

具体的な手順は以下になります。

  1. [SIN]をコピーして右に並べる。

    図12

  2. コピーした[SIN]のマークを「テキスト」に変更し、[回答]を「ラベル」に入れる
    図13

  3. 二重軸にし、軸を同期させ、不要なヘッダー等を削除して完成!
    図14

まとめ

今回は多角形を使ったレーダーチャートの作り方についてまとめてみました。ぜひお試しください!

Tableau Public