今回は、放射状ジッター棒グラフの作り方について紹介していきます。
放射状ジッター棒グラフとは、放射状棒グラフとジッタープロットを組み合わせたチャートであり、簡単に言うと、放射状棒グラフをドットの集まりで構成したようなチャートになります。
全体としては、放射状棒グラフとして見ることができて、かつ、各データの大きさをドットの大きさで確認することができます。
ここでは、地域ごとの売上 放射状ジッター棒グラフ(構成要素:商品ID)を作成していきます。
なお、すべてのVizは、サンプルデータであるスーパーストアの「Orders」シートをもとに作成することとします。
パラメーターの作成
以下のパラメーターを作成します。
名前:Radial Degrees Parameter
【プロパティ】
データ型:整数
現在の値:270
許容値:すべて
「Radial Degrees Parameter」は、最長の放射状棒グラフの長さを指定するのに使用します。
名前:Thickness Parameter
【プロパティ】
データ型:浮動小数点数
現在の値:0.7
許容値:範囲
【値の範囲】
最小値:0.1
最大値:1
ステップサイズ:0.1
「Thickness Parameter」は、各放射状棒グラフの幅を指定するのに使用します。
計算フィールドの作成
以下の計算フィールドを作成します。
- 名前:Region Index
INDEX()
「Region Index」は、地域に振られる項番(1からはじまる)を示します。
売上の低い地域から、1、2、3,・・と項番が振られます。
- 名前:Width
RANDOM()*[Thickness Parameter]
「Width」は、パラメーターで指定された放射状棒グラフの幅に、0から1の間の乱数を掛け合わせた値を示します。
幅の分だけランダムにドットをプロットし、放射状棒グラフの幅を形成するのに使用します。
- 名前:Region Sales
WINDOW_SUM(SUM([Sales]))
「Region Sales」は、地域ごとの売上を示します。
- 名前:Total Sales
WINDOW_SUM(SUM([Sales]))
「Total Sales」は、売上の合計を示します。
- 名前:Region Sales Percentage
[Region Sales]/[Total Sales]
「Region Sales Percentage」は、売上全体に対する、地域ごとの売上の割合を示します。
地域ごとの売上を全体の売上で割ることで算出しています。
- 名前:Circumference Length
[Region Sales Percentage]/WINDOW_MAX([Region Sales Percentage])*[Radial Degrees Parameter]
「Circumference Length」は、パラメーター「Radial Degrees Parameter」で指定した値を最大値として、各地域ごとの売上を表した値となります。
例えば、パラメーター「Radial Degrees Parameter」にて「270」と指定した場合、売上がもっとも多い地域では「270」となります。また、その半分の売上の地域では「135」となります。
- 名前:X
SIN(RADIANS((INDEX()-1)%[Circumference Length]))
*(WINDOW_MAX([Region Index])+([Width]))
「X」は、Viz上の横軸をX軸、縦軸をY軸とみたときに、プロットするデータのX座標を示します。
- 名前:Y
COS(RADIANS((INDEX()-1)%[Circumference Length]))
*(WINDOW_MAX([Region Index])+([Width]))
「Y」は、Viz上の横軸をX軸、縦軸をY軸とみたときに、プロットするデータのY座標を示します。
ここで、「X」「Y」については、もう少し詳しく説明していきます。
まず、( SIN(RADIANS((INDEX()-1)%[Circumference Length])) , COS(RADIANS((INDEX()-1)%[Circumference Length])) )は、単位円(半径の長さが1である円)上の座標となります。
SIN,COS関数内の「RADIANS((INDEX()-1)%[Circumference Length])」は、0から(各地域の売上をパラメーター「Radial Degrees Parameter」基準で表した値ー1)までの数字の列の繰り返しであり、角度の表しています。(なお、SIN,COS関数内では、ラジアン表記にする必要があり、RADIANS関数をかませています。)
こうすることで、「Circumference Length」が「135」の場合、単位円周上、0度から134度までのドットの列を構成することができます。
ただし、このままでは、すべての地域の売上が重なってしまいます。
そのため、(WINDOW_MAX([Region Index])を掛け合わせることによって、地域ごとに重ならないようにします。
また、このままでは、各放射状ジッター棒グラフの幅がないため、[Width]を加えることで、幅を作り出します。
- 名前:Region Label Position
INDEX()+([Thickness Parameter]/2)
「Region Label Position」は、各放射状ジッター棒グラフの横に添えるラベルの位置を示します。
ワークシートの編集
次の流れでワークシートを編集していきます。
- マークパネルのマークタイプを「円」に変更します。
- 「Region」をマークパネルの色に入れます。
- マークパネルの色にある「Region Index」を右クリックして、「並び替え」を選択します。
- 並び替え画面が表示されるので、以下の通り、入力して、並び替え画面を閉じます。
- 「Product ID」をマークパネルの詳細に入れます。
- 「X」を列シェルフに入れます。
- 列シェルフにある「X」を右クリックして、「次を使用して計算」の「Product ID」を選択します。
- 「Y」を行シェルフに入れます。
- 行シェルフにある「Y」を右クリックして、「次を使用して計算」の「Product ID」を選択します。
- 列シェルフにある「X」を右クリックして、「表計算の編集」を選択します。
- 表計算画面が表示されるので、ネストされた計算にて、「Circumference Length」を選択し、以下の通り、入力します。
- ネストされた計算にて、「Total Sales」を選択し、以下の通り、入力します。
- ネストされた計算にて、「Region Index」を選択し、以下の通り、入力し、表計算画面を閉じます。
- 列シェルフにある「Y」を右クリックして、「表計算の編集」を選択します。
- 表計算画面が表示されるので、ネストされた計算にて、「Circumference Length」を選択し、以下の通り、入力します。
- ネストされた計算にて、「Total Sales」を選択し、以下の通り、入力します。
- ネストされた計算にて、「Region Index」を選択し、以下の通り、入力し、表計算画面を閉じます。
- 「Sales」をマークパネルのサイズに入れます。
ワークシートの微調整
次の流れでワークシートの微調整をしていきます。
- 行シェルフにある「Y」の右側に、「Region Label Position」を入れます。
- 行シェルフにある「Region Label Position」を右クリックして、「二重軸」を選択します。
- 行シェルフにある「Region Label Position」を右クリックして、「次を使用して計算」の「Region」を選択します。
- Viz上で、「Y」の縦軸を右クリックして、「軸の同期」を選択します。
- 「すべて」マークパネルの色にある「メジャーネーム」を除きます。
- 「Region Label PositionΔ」マークパネルのサイズにある「合計(Sales)」を除きます。
- 「Region Label PositionΔ」マークパネルの詳細にある「Product ID」を除きます。
- 「Region Label PositionΔ」マークパネルのラベルに、「Region」、および、「Sales」を入れます。
- 「Region Label PositionΔ」マークパネルのラベルを左クリックして、ラベルの外観の配置にて、水平方向を「左」に、垂直方向を「中」に変更します。
- さらに、ラベルの外観のテキストの「…」を選択します。
- ラベルの編集画面が表示されるので、以下の通り、入力し、「OK」ボタンを押します。
- 「YΔ」マークパネルの色を左クリックして、不透明度を75%に変更します。
- 「Region Label PositionΔ」マークパネルの色を左クリックして、不透明度を0%に変更します。
- 列シェルフにある「X」を右クリックして、「ヘッダーの表示」のチェックを外します。
- 行シェルフにある「Y」を右クリックして、「ヘッダーの表示」のチェックを外します。
- Viz上で右クリックして、「書式設定」を選択します。
- 線の書式設定にて、シートのゼロライン、および、グリッド線を「なし」に設定します。
- 枠線の書式設定にて、行の境界線、および、列の境界線を「なし」に設定します。
- 「YΔ」マークパネルのツールヒントを左クリックして、「ツールヒントの編集」を開き、以下の通りに入力し、「OK」ボタンを押します。
Product ID: <Product ID>
Region: <Region>
Sales: <合計(Sales)>
- 「Region Label PositionΔ」マークパネルのツールヒントを左クリックして、「ツールヒントの編集」を開き、以下の通りに入力し、「OK」ボタンを押します。
Region: <Region>
Sales: <合計(Sales)>
- データペインにて、パラメーターの「Radial Degrees Parameter」を右クリックして、「パラメーターの表示」を選択します。
- データペインにて、パラメーターの「Thickness Parameter」を右クリックして、「パラメーターの表示」を選択します。
- 「合計(Sales)」凡例カードの「▼」を左クリックして、「タイトルの編集」を選択します。
- 凡例タイトルの編集画面が表示されるので、「Sales」と入力し、「OK」ボタンを押します。
- 「YΔ」マークパネルのサイズを左クリックして、サイズを調整します。
- シートの名前を「地域ごとの売上 放射状ジッター棒グラフ(構成要素:商品ID)」に変更します。
地域ごとの売上 放射状ジッター棒グラフ(構成要素:商品ID)の完成
これで、地域ごとの売上 放射状ジッター棒グラフ(構成要素:商品ID)の完成の完成です。
Westでの売上が一番高いことがわかるとともに、商品ごとの売上がわかります。
Tableau Publicのリンクを貼っています。
また、パラメーターを変更することによって、放射状ジッター棒グラフの形状に変化を加えることができます。
パラメーター「Radial Degrees Parameter」を変更すると、各放射状ジッター棒グラフの長さを変更できます。例えば、「Radial Degrees Parameter」を「360」にすると、最大の放射状ジッター棒グラフの長さが一周の円となり、その他の地域の放射状ジッター棒グラフの長さも連動して変わります。
パラメーター「Thickness Parameter」を変更すると、各放射状ジッター棒グラフの幅を変更できます。例えば、「Thickness Parameter」を「0.5」にすると、各放射状ジッター棒グラフの幅が細くなります。