ベン図を可視化する方法

こちらのノートでは、ベン図(Venn Diagram)を作成する方法をご紹介いたします。

ベン図は、複数のグループ間の共通部分や差異を円の重なりで表現したチャートです。例えば、「3カ国間で共通して賛成した投票数」や「ある国だけが賛成した投票数」といった重複関係を直感的に把握することができます。

ベン図に必要なデータ

ベン図を作成するには、グループごとの件数とグループ間の共通件数を1行のデータとして用意する必要があります。

例えば、アメリカ・カナダ・ロシア3カ国の国連決議投票データの場合、各国単独での賛成件数と各国間での共同賛成件数が1行にまとめられたデータを使用します。

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

ベン図を作成するためのパッケージはいくつかありますが、このノートでは、円の大きさや重なり具合を実際のデータに基づいて適切に表現できる「eulerr」パッケージを使用いたします。

チャートの作成にあたり、まずeulerrパッケージをインストールします。

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

テキストボックスに「eulerr」と入力し、「インストール」ボタンをクリックしてインストールを実行します。

Image file not found: /Users/im/Documents/writing/Output/venn-diagram-howto_images/p6.png?lastModify=1780498525

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

Image file not found: /Users/im/Documents/writing/Output/venn-diagram-howto_images/p7.png?lastModify=1780498525

データのダウンロード

こちらのノートでは、ハーバード大学のDataverseで公開されている、過去70年間の国連総会での決議における国ごとの投票内容データを使用します。以下のリンクからEDFファイルをダウンロードしてください。

データのインポート

ダウンロードしたEDFファイルをExploratoryにドラッグ&ドロップします。

するとデータがインポートされ、「vote_euler」というデータフレームが作成されます。このデータは1行のデータで、各列にアメリカ、カナダ、ロシアの投票一致件数が格納されています。

カスタム(R)チャートを使ってベン図を作成する

チャート・ビューから「カスタム (R) チャート」を使うと、Rのコードを貼り付けるだけでベン図を作成できます。

チャート・ビューのチャートタイプの選択画面から「カスタム (R) チャート」を選択します。

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

Rスクリプトのエディタが表示されますので、以下のコードを入力します。${DATA} はExploratoryが現在アクティブなデータフレームを自動的に参照する専用の記法です。

library(eulerr)

# ${DATA}の1行目の数値を取得し、それに対応する名前をセットして、euler関数に渡す
data <- euler(setNames(as.numeric(${DATA}[1, ]), names(${DATA})))

# プロット時に使用する色を定義
col <- c("#E56997", "#FBC740", "#66D2D6")

plot(data,
     quantities = TRUE,                      # 数量のラベルの表示
     fills = list(fill = col, alpha = 0.8),  # 塗りつぶしの色と透明度を指定
     edges = "black",                        # エッジの色を黒に指定
     labels = list(fontsize = 12))           # ラベルのフォントサイズを指定

コードを入力したら「ビュー」ボタンをクリックします。円の大きさと重なり具合がデータに基づいて表現されたベン図が作成されます。

ノートやダッシュボードにチャートを挿入する

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

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

ノートやダッシュボードで直接ベン図を作成する

カスタム (R) チャートと同じRスクリプトを使って、Exploratoryのノートやダッシュボード上でも直接ツリーマップを作成することができます。

  • ノートやダッシュボードのコンテンツの追加メニューの紹介 - リンク

ノートの編集画面や、ダッシュボードのテキストパネルのコンテンツの追加ボタンから「R スクリプト」を選択すると、Rのコードを入力するためのコードブロックが表示されます。

Image file not found: /Users/im/Documents/writing/Output/venn-diagram-howto_images/p13.png?lastModify=1780498525

カスタム (R) チャートとの違いは、${DATA} の代わりにデータフレーム名(ここでは「vote_euler」)を直接指定する点です。

library(eulerr)

# vote_eulerの1行目の数値を取得し、それに対応する名前をセットして、euler関数に渡す
data <- euler(setNames(as.numeric(vote_euler[1, ]), names(vote_euler)))

# プロット時に使用する色を定義
col <- c("#E56997", "#FBC740", "#66D2D6")

plot(data,
     quantities = TRUE,
     fills = list(fill = col, alpha = 0.8),
     edges = "black",
     labels = list(fontsize = 12))
Image file not found: /Users/im/Documents/writing/Output/venn-diagram-howto_images/p15.png?lastModify=1780498689

「プレビュー」ボタンをクリックすると、ベン図が表示されます。

Image file not found: /Users/im/Documents/writing/Output/venn-diagram-howto_images/p16.png?lastModify=1780498689
Image file not found: /Users/im/Documents/writing/Output/venn-diagram-howto_images/p17.png?lastModify=1780498525

参考情報

  • カスタム (R) チャートの使い方 - リンク
  • ノート・ダッシュボードのコンテンツ追加メニュー紹介 - リンク
Export Chart Image
Output Format
PNG SVG
Background
Set background transparent
Size
Width (Pixel)
Height (Pixel)
Pixel Ratio