今回は、曲線型ダンベルチャートの作り方について紹介していきます。
曲線型ダンベルチャートとは、その名の通り、曲線の形状のダンベルチャートになります。具体的には、ダンベルの棒の部分、すなわち、線の部分が曲線になっています。これまで、バーベルプロット、ダンベルチャートとトレーニング器具関連の名前のチャートを扱ってきたので、今回は、その流れにのって、こちらのチャートを選びました。
私はテレワークが続いていますが、運動不足の解消のために、ジムに通うようになった人も中にはいるのではないでしょうか。そこで、ある月のチームメンバーのジムに通った回数を曲線型ダンベルチャートで表現してみたいと思います。
では、作り方の説明をはじめていきましょう。
曲線型ダンベルチャートの元データ
もととなるデータは以下のような項目のファイルになります。
- 1列目:Name
- 2列目:Path
- 3列目:Value
具体的には、以下のようなファイルであり、このファイルをデータソースとして指定します。
Name | Path | Value |
---|---|---|
岩崎 | 1 | 12 |
岩崎 | 181 | 12 |
佐藤 | 1 | 20 |
佐藤 | 181 | 20 |
山本 | 1 | 31 |
山本 | 181 | 31 |
糸井 | 1 | 8 |
糸井 | 181 | 8 |
西 | 1 | 24 |
西 | 181 | 24 |
「Name」にはチームメンバーの名前が、「Value」にジムに通った回数が入ります。
各チームメンバーに対して、2行のデータを用意し、「Name」「Value」には同じ値を指定します。
「Path」には、それぞれ、1と181が入ります。
ビンの作成
「Path」をもとに、以下のビンを作成します。
新しいフィールド名:Path (bin)
ビンのサイズ:0.1
これは、「Path」に、それぞれ、1と181を入れていますが、1から181の間を、サイズ0.1で分割することを意味します。
計算フィールドの作成
以下の計算フィールドを作成します。
名前:Index
INDEX()-1
「Index」は、 「Path (bin)」 の項番(0からはじまる)を示します。「Path (bin)」 は1から181の間をサイズ0.1で分割されているので、具体的には、0、1、2、・・・、1800の項番となります。
名前:Max Value
WINDOW_MAX(MAX([Value]))
「Max Value」は、「Value」の最大値を示します。具体的には、31となります。
名前:Max Value for Name
WINDOW_MAX(MAX([Value]))
「Max Value for Name」は、チームメンバーごとの「Value」の最大値を示します。「Value」には、チームメンバーごとに同じ値が入っているので、単純に「Value」の値になります。例えば、「岩崎」の場合、12となります。「Max Value」と同じ計算式になりますが、最大値のスコープが異なります。
名前:Percentage
[Max Value for Name]/[Max Value]
「Percentage」は、「Value」の最大値に対する各チームメンバーの「Value」の割合を示します。具体的には、「山本」の「Percentage」は1(=31/31)であり、「岩崎」の「Percentage」は0.387…(=12/31)となります。最大値である「山本」の「Value」を1と見た時の相対的な値となります。
名前:X
[Index]*[Percentage]
「X」は、Viz上の横軸をX軸、縦軸をY軸とみたときのX座標を示します。「Index」の最大値は1800であり、このとき、「X」を計算すると、「山本」は1800(=1800×1)、696.7…(=1800×0.387…)となります。「X」の最大値は、「山本」の値を1800と見たときの相対的な値になります。「X」の最小値は0(※「Index」は最小値は0であり、「Percentage」は0よりも大きな値のため)であり、「X」の最小値と最大値の距離が、ダンベルの長さになります、
名前:Y
SIN(RADIANS([X]))
「Y」は、Viz上の横軸をX軸、縦軸をY軸とみたときのY座標を示します。「X」だけでは直線としかならず、曲線とするために、「Y」が必要になります。この曲線を、三角関数の一種である正弦(sin)を用いて表します。
なお、簡単に説明すると、正弦(sin)は、単位円を一周したときのY座標の値です。
α=0度のときは0、α=90度のときは1、α=180度のときは0、α=270度のときは-1、α=360度のときは0となり、グラフで表すと以下のようになります。
ただし、厳密には、αは度単位ではなく、ラジアン単位にする必要があります。
そのため、RADIANS関数をはさんで、度単位からラジアン単位に変換しています。
名前:Size
IF [Index] = 1 THEN
2
ELSEIF [Index] = WINDOW_MAX([Index]) THEN
2
ELSE
0
END
「Size」は、おもりのサイズを示します。両端のサイズは2となり、他の部分は0となります。
ワークシートの編集
次の流れでワークシートを編集していきます。
- マークタイプを「線」に変更します。
- 「Name」を行シェルフに入れます。
- 「Path (bin)」をマークパネルのパスに入れます。
- 「X」を列シェルフに入れます。
- 列シェルフにある「X」を右クリックして、「次を使用して計算」の「Path (bin)」を選択します。
- 「Y」を行シェルフに入れます。
- 行シェルフにある「Y」を右クリックして、「次を使用して計算」の「Path (bin)」を選択します。
- 列シェルフにある「X」を右クリックして、「表計算の編集」を選択します。
- 表計算画面が表示されるので、ネストされた計算にて「Max Value」を選択します。
- 次を使用して計算にて「特定のディメンション」を選択し、「Path (bin)」と「Name」にチェックを入れた状態にします。
- 「Size」をマークパネルのサイズに入れます。
- マークパネルのサイズにある「Size」を右クリックして、「次を使用して計算」の「Path (bin)」を選択します。
- 「Name」をマークパネルの色に入れます。
- 自動調整にて、「ビュー全体」を選択します。
ワークシートの微調整
次の流れでワークシートの微調整をしていきます。
- 列シェルフにある「X」を右クリックして、「ヘッダーの表示」のチェックを外します。
- 行シェルフにある「Y」を右クリックして、「ヘッダーの表示」のチェックを外します。
- Viz上で右クリックして、「書式設定」を選択します。
- 線の書式設定にて、シートのグリッド線、および、ゼロラインを「なし」に設定します。
- 枠線の書式設定にて、行の境界線、および、列の境界線を「なし」に設定します。
- 「Name」フィールドの書式設定にて、ヘッダーの既定の配置の水平方向を「右」に変更します。
- Viz上、「Name」という項目を右クリックして、「行のフィールドラベルの非表示」にチェックを入れます。
- 「Value」をマークパネルのラベルに入れます。
- マークパネルにて、ラベルを左クリックします。
- ラベルの外観の配置にて、水平方向を「中央」に、垂直方向を「中」に変更します。
- ラベルの外観のフォントにて、白色を選択します。
- オプションにある「ラベルがその他のマークをオーバーラップするのを許可」にチェックを入れます。
- 数字が、おもりの点(ドット)内にきれいに収まるように、マークパネルのサイズにて、サイズを調整します。
- マークパネルにて、ツールヒントの「ツールヒントの編集」を開き、「ツールヒントの表示」のチェックを外します。
- 「集計(Size)」凡例カードの「▼」を左クリックし、「カードの非表示」を選択します。
- 「Name」凡例カードの「▼」を左クリックし、「カードの非表示」を選択します。
- シートの名前を「ジムに通った回数 曲線型ダンベルチャート」に変更します。
曲線型ダンベルチャートの完成
これで、ジムに通った回数の曲線型ダンベルチャートが完成です。
Tableau Publicのリンクを貼っています。