Rコードを使ってExploratoryにないチャートを自由に作る — カスタム (R)チャート

Exploratoryはデフォルトでバーチャートやラインチャートをはじめ、多くのチャートタイプをサポートしていますが、業務やレポートのニーズによっては、デフォルトでは対応していないチャートのタイプを使いたい場面があります。

これまでは、Rのコードでカスタムチャートを作りたい場合、ノートやダッシュボードのコードブロック内に直接Rスクリプトを記述する必要がありました。

この方法では、同じチャートを複数のレポートで使い回したいとき、都度コードをコピー&ペーストしなければならず、管理が煩雑になりがちでした。

また、コードブロックで作ったチャートは、通常のチャートのようにパブリッシュしたり、コメントを付けたりすることもできませんでした。

Exploratory バージョン15では、カスタム (R)が新たにチャートのタイプとして追加されました。

これにより、Rのコードで作成したチャートを他のチャートと同じようにチャート・ビューで管理し、ダッシュボードやノートに簡単に挿入・再利用できるようになります。

カスタム (R)のチャートの基本的な使い方

チャート・ビューでカスタム (R)を選択すると、Rコードを入力するためのエディターが表示されます。

ここにRのコードを記述することで、任意のチャートを作成できます。

データフレームを参照する方法

データフレームを参照する際は、通常のRスクリプトと異なり、${DATA} という書き方で、現在、開いているアクティブなデータフレームを指定します。

なお、他のデータフレームを参照することはできない点に注意してください。

作成したカスタムRチャートは、通常のチャートと同様に以下のことが可能です:

  • チャート・ビューでの確認・管理
  • コメントの挿入
  • チャートとしてのパブリッシュ
  • ダッシュボードやノートへの挿入と複数レポートでの再利用

それでは、具体的な2つのチャートタイプの作成例を見ていきましょう。

パッケージのインストール

カスタムRチャートでは、任意のRパッケージを利用できますが、Exploratoryにプリインストールされていないパッケージを使う場合は、事前に自分でインストールする必要があります。

例えば、この後紹介するツリーマップで使用するtreemapパッケージは、Exploratoryにはプリインストールされていないため、インストールが必要です。

インストールするには、プロジェクトメニューから「Rパッケージの管理」を選択します。

インストールのためのダイアログが開いたら、パッケージ名を入力してインストールします。

インストールが完了すると、エディタタ内で library(treemap) のように、パッケージを読み込んで使用できるようになります。

カスタム (R) チャートの作成例

ツリーマップ

ツリーマップは、階層構造を持つデータを四角形の面積で表現するチャートです。親カテゴリーを同系色でグループ化することで、全体に占める各カテゴリーの割合を一目で把握できます。

製品カテゴリー別の売上構成、予算の内訳、Webサイトのトラフィック内訳など、「大きい順に何がどれくらいを占めているか」を見たい場面に適しています。

ツリーマップには、親カテゴリー・子カテゴリーと、それぞれに対応する数値(売上など)を集計したデータフレームが必要です。

データの準備方法については、以下のノートを参考にしてください。

  • ツリーマップを作成する方法 - リンク

前述したようなデータが手元にある場合、ツリーマップtreemapパッケージを使用し、以下のようなコードを記述します。

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",   # 日本語をラベルに利用したい時に指定
)

ビューボタンをクリックすると、以下のようにツリーマップが表示されます。

円形コードダイアグラム

円形コードダイアグラムは、複数のカテゴリー間の関係性や流れを円形レイアウトで表現するチャートです。

弧の太さで関連性の強度を示し、すべてのカテゴリー間の相互関係を一つの図で把握でき、地域間の人口移動、取引先間の資金フロー、チーム間のコミュニケーション量など、「多数のカテゴリーが互いにどれくらい関係しているか」を俯瞰したい場面に適しています。

円形コードダイアグラムでは、移動元と移動先の2列を含むデータが必要です。

前述したようなデータが手元にある場合、circlizeパッケージを使用し、以下のようなコードを記述します。

library(showtext)
library(circlize)

showtext_auto() # これを実行するだけで日本語が通るようになります

chordDiagram(${DATA}[, c("移動元の列", "移動先の列")], transparency = 0.5)
# 方向の情報は持たないため、移動元の列と移動先の列は逆でも問題ありません。

ビューボタンをクリックすると、以下のように円形コードダイアグラムが表示されます。

円形コードダイアグラムの詳細につきましては、以下のノートを参考にしてください。

  • 円形コードダイアグラムを作成する方法 - リンク

参考情報

  • Rスクリプトを使ったさまざまなチャートの可視化 - リンク
  • セミナー #138 - Rスクリプトを使ったチャートとアナリティクスの作成 - リンク

今すぐ体験してみませんか?

カスタムRチャートを使うことで、Exploratoryがデフォルトでサポートしていないチャートタイプも、チャート・ビューで管理してダッシュボードやノートで再利用できます。

まだExploratoryをお使いでない方は、30日間の無料トライアルをぜひお試しください!

無料で始める

Export Chart Image
Output Format
PNG SVG
Background
Set background transparent
Size
Width (Pixel)
Height (Pixel)
Pixel Ratio