今回も前回の技を応用した方法です。今回はさらにワークフローを作り込む必要があります。
通常の円グラフ
通常の円グラフはこのようなものです(中心をくり抜いた円グラフはオプションで簡単に作れます)。
円グラフは以下のような設定をしています。
ラベルがいわゆるディメンション的に働き、ここで設定した項目ベースに分割されます。今回はitemという項目を入れていますが、itemの中の値に応じて値(sales)が自動的に合計されています。そのため、円グラフでは「分割」オプションが使えません。
なお、中心の穴の部分は、レイヤーの「ホール」オプションで制御可能です。
しかし、せっかくホールができるのに、ここをうまく活用したいものです。
どうやって中心に合計を表示するか
さて、この中心部分を活用したいと思いますが、いくつか試してみました。
- 円グラフを2つ重ねる
- 円グラフの後ろに棒グラフをなんとか重ねる
- オーバーレイツールを使う
まず、1ですが、円グラフを2つ配置してなんとかならないか?と思って試しました。意外と簡単にこっちはできましたが、一つ残念なことがあり、中心部分の色を白色にできませんでした。
次、3のオーバーレイツールですが、次回やりたいと思います。普通に素直にやるとうまくいかないと思います。おそらく以下のようになります。
今回は、前回の延長線上で、インタラクティブチャートツールのみでなんとかしてみたいと思います。
事前のデータ加工
今回も事前のデータ加工が必要です。棒グラフを使って中心に表示するためには、レコードが2つ必要です。つまり、Y軸として1,2と入っていれば1の方のラベルが中心に表示されるはずです。また、X軸用に単一値が必要になります。つまり、以下のようなデータが必要です。
このためには以下のようなワークフローを作成しました。
元データは以下のとおりです。
集計ツールは単純にsalesを集計します。
次に、レコードを2つに増やします。行生成ツールを使います。Y-Posionという項目を作り、単純に2行作るような設定にしています。
次に、フォーミュラツールで単一項目のX-Positionと、ラベルを作成しています。ラベルは、Y-Positionが中心に来る1のときのみ入れています。それ以外は空白にしました(NullだとNullと出てしまうので)。
これを、複数結合ツールでレコードポジションで結合します。
結果は以下のようになります。
ちなみに、普通の結合ツールだと、結果が2レコードのみに制限されてしまうので、複数結合ツールを使っています(共通で存在する行しか出力してくれません)。
いよいよここからインタラクティブチャートツールを設定していきます。
インタラクティブチャートを設定する
最初に円グラフを設定しますが、こちらは普通にします。
次に、棒グラフを設定します。名前は「中心部」とでもしておきましょう。
型はもちろん「棒」、X軸は「X-Position」、Y軸は「Y-Position」を設定します。
次に、細かい設定を行っていきます。まずはレイヤーです。ここでは中心部の穴の大きさを円グラフのホールで調整します。また、どのようなラベルを表示するかも設定可能です。
ちなみに、円グラフのフォントは「フォント」タブで設定します。初期設定は文字が小さいので大きめにしたほうが良いでしょう。
次に棒グラフ側を設定していきます。こちらは細かく設定が必要です。
不透明度は「0%」、棒のモードは「オーバーレイ」、テキストは「Label」、テキストの位置は「外側」、文字を大きくしたほうが見栄えが良いのでサイズピクセルも大きくしています。
凡例は不要なので「非表示」で良いと思います。また、「マウスをテキストにあわせる」のホバー時に表示される値はすべて消しても良いと思います。
次に、軸を消していきます。「軸」タブで、折れ線は「すべて」にして、軸線もグリッド線も「非表示」にします。ラベルも同様に「すべて」にして「非表示」にします。
ここまででいい感じになっていると思いますが、なぜかX軸の線が残っています。
これを消すために、グラフタブの「下ピクセル」を調整しましょう。0などにすれば消えるはずです。
これで完成です!
まとめ
- 円グラフに穴をあけてドーナツ状にし、中にラベルを配置する方法をご紹介しました
- 円グラフは普通の設定ですが、棒グラフをうまく使ってラベルを配置します
- 棒グラフのために、事前にデータ加工が必要でした
- オーバーレイツールを使ってもできます(次回解説します)
サンプルワークフローダウンロード
次回
次回は、オーバーレイツールを使ったバージョンをご紹介します。
コメント