曲線型ダンベルチャートの作り方

曲線型ダンベルチャートの作り方

今回は、曲線型ダンベルチャートの作り方について紹介していきます。

曲線型ダンベルチャートとは、その名の通り、曲線の形状のダンベルチャートになります。具体的には、ダンベルの棒の部分、すなわち、線の部分が曲線になっています。これまで、バーベルプロット、ダンベルチャートとトレーニング器具関連の名前のチャートを扱ってきたので、今回は、その流れにのって、こちらのチャートを選びました。

私はテレワークが続いていますが、運動不足の解消のために、ジムに通うようになった人も中にはいるのではないでしょうか。そこで、ある月のチームメンバーのジムに通った回数を曲線型ダンベルチャートで表現してみたいと思います。

では、作り方の説明をはじめていきましょう。

曲線型ダンベルチャートの元データ

もととなるデータは以下のような項目のファイルになります。

  • 1列目:Name
  • 2列目:Path
  • 3列目:Value

具体的には、以下のようなファイルであり、このファイルをデータソースとして指定します。

NamePathValue
岩崎112
岩崎18112
佐藤120
佐藤18120
山本131
山本18131
糸井18
糸井1818
西124
西18124

「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座標の値です。

正弦(sin)を説明する画像

α=0度のときは0、α=90度のときは1、α=180度のときは0、α=270度のときは-1、α=360度のときは0となり、グラフで表すと以下のようになります。

正弦(sin)グラフを説明する画像

ただし、厳密には、αは度単位ではなく、ラジアン単位にする必要があります。

そのため、RADIANS関数をはさんで、度単位からラジアン単位に変換しています。

名前:Size
IF [Index] = 1 THEN
  2
ELSEIF [Index] = WINDOW_MAX([Index]) THEN
  2
ELSE
  0
END

「Size」は、おもりのサイズを示します。両端のサイズは2となり、他の部分は0となります。

ワークシートの編集

次の流れでワークシートを編集していきます。

  1. マークタイプを「線」に変更します。
  2. 「Name」を行シェルフに入れます。
  3. 「Path (bin)」をマークパネルのパスに入れます。
  4. 「X」を列シェルフに入れます。
  5. 列シェルフにある「X」を右クリックして、「次を使用して計算」の「Path (bin)」を選択します。
  6. 「Y」を行シェルフに入れます。
  7. 行シェルフにある「Y」を右クリックして、「次を使用して計算」の「Path (bin)」を選択します。
  8. 列シェルフにある「X」を右クリックして、「表計算の編集」を選択します。
  9. 表計算画面が表示されるので、ネストされた計算にて「Max Value」を選択します。
  10. 次を使用して計算にて「特定のディメンション」を選択し、「Path (bin)」と「Name」にチェックを入れた状態にします。
ワークシートの編集:表計算を説明する画像
  1. 「Size」をマークパネルのサイズに入れます。
  2. マークパネルのサイズにある「Size」を右クリックして、「次を使用して計算」の「Path (bin)」を選択します。
  3. 「Name」をマークパネルの色に入れます。
  4. 自動調整にて、「ビュー全体」を選択します。
ワークシートの編集を説明する画像

ワークシートの微調整

次の流れでワークシートの微調整をしていきます。

  1. 列シェルフにある「X」を右クリックして、「ヘッダーの表示」のチェックを外します。
  2. 行シェルフにある「Y」を右クリックして、「ヘッダーの表示」のチェックを外します。
  3. Viz上で右クリックして、「書式設定」を選択します。
  4. 線の書式設定にて、シートのグリッド線、および、ゼロラインを「なし」に設定します。
  5. 枠線の書式設定にて、行の境界線、および、列の境界線を「なし」に設定します。
  6. 「Name」フィールドの書式設定にて、ヘッダーの既定の配置の水平方向を「右」に変更します。
  7. Viz上、「Name」という項目を右クリックして、「行のフィールドラベルの非表示」にチェックを入れます。
  8. 「Value」をマークパネルのラベルに入れます。
  9. マークパネルにて、ラベルを左クリックします。
  10. ラベルの外観の配置にて、水平方向を「中央」に、垂直方向を「中」に変更します。
  11. ラベルの外観のフォントにて、白色を選択します。
  12. オプションにある「ラベルがその他のマークをオーバーラップするのを許可」にチェックを入れます。
  13. 数字が、おもりの点(ドット)内にきれいに収まるように、マークパネルのサイズにて、サイズを調整します。
  14. マークパネルにて、ツールヒントの「ツールヒントの編集」を開き、「ツールヒントの表示」のチェックを外します。
  15. 「集計(Size)」凡例カードの「▼」を左クリックし、「カードの非表示」を選択します。
  16. 「Name」凡例カードの「▼」を左クリックし、「カードの非表示」を選択します。
  17. シートの名前を「ジムに通った回数 曲線型ダンベルチャート」に変更します。
ワークシートの微調整を説明する画像

曲線型ダンベルチャートの完成

これで、ジムに通った回数の曲線型ダンベルチャートが完成です。

ジムに通った回数の曲線型ダンベルチャート

Tableau Publicのリンクを貼っています。