こんにちは、廣本です🥚。今回はTableauでRadial(ラジアル)チャートをつくるときに知っておきたい、SIN・COS関数の考え方についてまとめてみました。
Radial(ラジアル)チャートとは
Radialは「放射状」の意味を持つ単語ですが、TableauではこのRadial(ラジアル)チャートを使った表現を見かけることがあります。円状にデータが並んでいるグラフですね。私もこのRadialチャートが好きで、Tableau初心者のころからTableau PublicのVizをよく真似してつくっていました。
しかし、(Tableauあるあるだと思うのですが)関数を真似してつくってみたは良いものの、意味がよくわかっておらず、結局自分で応用してつくることができませんでした。そこで、ちゃんと関数の意味と処理している内容を理解しようと改めて三角関数を復習し、なんとなく理屈がわかったので、今回はその考え方を中心に紹介したいと思います。
三角関数ってなんだっけ
三角関数とは、角度と長さの関係を表す数学的な関数です。主にSIN(サイン)、COS(コサイン)、TAN(タンジェント)の3つがよく知られています。
Tableauでは特にSINとCOS関数が重要になります。これらを使うことで、データを円形や放射状に配置することができます。
SIN関数とCOS関数の基本
簡単に説明すると:
- COS関数:角度に対応するX座標(横方向の位置)を返します
- SIN関数:角度に対応するY座標(縦方向の位置)を返します
これらの関数の値は常に-1から1の間になります。この性質を利用することで、円形にデータを配置することができます。
三角関数と単位円
三角関数を理解するには「単位円」の概念が役立ちます。単位円とは、原点を中心とする半径1の円のことです。
任意の角度θに対して、
- X座標 = COS(θ)
- Y座標 = SIN(θ)
となります。
例えば、 角度が以下の場合、COS(θ)とSIN(θ)の値は以下のようになります。
- 角度θ = 0度の場合:COS(0) = 1, SIN(0) = 0 → 点(1, 0)
- 角度θ = 90度の場合:COS(90°) = 0, SIN(90°) = 1 → 点(0, 1)
- 角度θ = 180度の場合:COS(180°) = -1, SIN(180°) = 0 → 点(-1, 0)
- 角度θ = 270度の場合:COS(270°) = 0, SIN(270°) = -1 → 点(0, -1)
角度からCOSとSINの値を計算するVizを作成していますので、ぜひご参照ください。
Tableauでの応用
TableauでRadialチャートを作成する際は、以下のような計算式をよく使います。
// X座標の計算
X = COS([角度]) * [半径]
// Y座標の計算
Y = SIN([角度]) * [半径]
ここで[角度]は通常、データ項目を均等に円周上に配置するために計算します。例えば12項目を円周上に均等に配置したい場合、各項目の角度は360度÷12=30度ずつになります。なお、各項目にそれぞれ角度を割り当てる場合は、連番を振るINDEX関数を使うと便利です。
また、[半径]はデータ値そのものや、データに基づいて計算した値を使うことができます。半径を変えることで、データの大きさを視覚的に表現できます。
注意点として、Tableauではただの数字を角度として使用することはできません。角度として扱う際はRADIANS関数を使用して、数値を角度として扱えるように変換する必要がありますのでご注意ください。
まとめ
この三角関数の考え方を理解したことで、様々なRadialチャートを自分でつくることができるようになりました。理屈を理解するというのはなかなか大変ですが、その分、それを理解できたときの応用の幅が広がりますし、他の人が真似できない武器にもなり得ると思います。コピペで終わらせず、理解する努力を惜しまないことが大切だなと思いました。
過去に作成したいろいろなRadialチャートを下記に掲載していますので、ぜひご覧ください!