
こちらのノートでは、ツリーマップを作成する方法を紹介いたします。
ツリーマップは階層構造を持つデータを表現することに適したチャートです。各四角形の面積が値の大きさを示し、親カテゴリーを同系色で表現することで、親カテゴリーが全体に占める割合と、子カテゴリーが全体や親カテゴリーに占める割合を視覚的に把握できます。
カテゴリー別の売上構成など、「全体の中でどの部分がどの程度を占めているか」を階層ごとに一目で把握したいときに特に有効です。
ツリーマップを作成するには、カテゴリー、サブカテゴリーのように階層構造になっている集計データが必要です。

上記は、製品サブカテゴリーごとの売上の集計データになりますが、このようなデータは手元にあることは少なく、多くの場合、以下のような未集計のデータが手元にあることが一般的です。

そのようなときには、データを集計する必要があります。
なお、こちらのノートで使用するサンプルのデータは以下のリンクからダウンロードいただけます。
ツリーマップの作成にあたってはtreemapライブラリを利用します。プロジェクトメニューから、Rパッケージの管理を選択します。

続いて、テキストボックスにtreemapとタイプし、インストールボタンをクリックします。

「treemapのインストールに成功しました。」というメッセージが表示されたら、OKボタンをクリックします。

これでツリーマップを作成する準備が整いました。
今回は以下のように1行が1つの注文を表すデータを使って、製品カテゴリーと製品サブカテゴリーの売上に関するツリーマップを作成していきます。

まず、このデータは未集計のデータですので、製品カテゴリーと製品サブカテゴリーごとに売上を集計していきます。
画面上部のAI データ加工のボタンを選択します。

AIプロンプトの入力欄が表示されたら、以下のようなプロンプトを実行します。
製品カテゴリーと製品サブカテゴリーごとに売上を集計する

プロンプトを実行すると、Rのコードが生成されるので、内容を確認して、「ステップとして実行」ボタンをクリックします。

これでツリーマップ用のデータを作成できました。

チャート・ビューからカスタム (R) チャートを使うと、Rのコードを貼り付けるだけでツリーマップを作成できます。
そのため、チャート・ビューに移動し、チャートタイプの一覧から「カスタム (R) チャート」を選択します。

すると、Rスクリプトを入力するテキストエディタが表示されます。

続いて、以下のスクリプトをテキストエディタに貼り付けてください。${DATA}
はExploratoryが現在アクティブなデータフレームを自動的に参照する専用の記法です。
library(treemap)
treemap(${DATA},
index=c("製品カテゴリー", "製品サブカテゴリー"), # データフレーム名、製品カテゴリーにはデータ上の親カテゴリの列名、製品サブカテゴリーにはデータ上の子カテゴリの列名を指定
vSize= "売上", # 値を指定
type="index", # ツリーの色分けの方法を指定
palette = "Set1", # カラーパレットの選択
title="My Treemap", # チャートタイトルを設定
fontsize.labels=c(15,12), # ラベルサイズの指定
fontcolor.labels=c("white","orange"), # ラベルの色の指定
bg.labels=c("transparent"), # ラベルの背景色の指定
align.labels=list(
c("center", "center"),
c("right", "bottom")
), # ラベルの表示位置の指定
fontfamily.labels = "HiraKakuProN-W3", # 日本語をラベルに利用したい時に指定
fontfamily.title = "HiraKakuProN-W3", # 日本語をラベルに利用したい時に指定
fontfamily.legend = "HiraKakuProN-W3", # 日本語をラベルに利用したい時に指定
)
スクリプトを貼り付けたら「ビュー」ボタンをクリックすると、ツリーマップがプレビューに表示されます。

チャート・ビューで作成したチャートは、チャートのタイプを問わずダッシュボードやノートに配置することが可能です。

配置したチャートは他のチャートと同じようにダッシュボードを実行すると表示されます。

カスタム (R) チャートと同じRスクリプトを使って、Exploratoryのノートやダッシュボード上でも直接ツリーマップを作成することができます。
ノートの編集画面や、ダッシュボードのテキストパネルのコンテンツの追加ボタンから「R スクリプト」を選択すると、Rのコードを入力するためのコードブロックが表示されます。

続いて、以下のスクリプトを貼り付けます。
カスタム (R) チャートとの違いは、${DATA}
の代わりにデータフレーム名(ここでは
注文)を直接指定する点のみです。
library(treemap)
treemap(注文, index=c("製品カテゴリー", "製品サブカテゴリー"), # 注文にはデータフレーム名、製品カテゴリーにはデータ上の親カテゴリの列名、製品サブカテゴリーにはデータ上の子カテゴリの列名を指定
vSize= "売上", # 値を指定
type="index", # ツリーの色分けの方法を指定
palette = "Set1", # カラーパレットの選択
title="My Treemap", # チャートタイトルを設定
fontsize.labels=c(15,12), # ラベルサイズの指定
fontcolor.labels=c("white","orange"), # ラベルの色の指定
bg.labels=c("transparent"), # ラベルの背景色の指定
align.labels=list(
c("center", "center"),
c("right", "bottom")
), # ラベルの表示位置の指定
fontfamily.labels = "HiraKakuProN-W3", # 日本語をラベルに利用したい時に指定
fontfamily.title = "HiraKakuProN-W3", # 日本語をラベルに利用したい時に指定
fontfamily.legend = "HiraKakuProN-W3", # 日本語をラベルに利用したい時に指定
)

すると以下のようにツリーマップが表示されます。
