EXCEL VBA におけるバブルチャートのデータ系列

 散布図におけるオブジェクトは以前の記事 VBAから見たEXCELの散布図 で取り上げた.今回はバブルチャートのデータ系列を調べたので備忘録がてら公開する.

データベースから全国の市区町村の財務状況をダウンロード

 SQL Server に格納したテーブルを結合して以下のクエリを実行する.データベースは 全国の市区町村の財政 で作成済みである.

ユーザーインターフェースでの操作をマクロ記録

「挿入」「グラフ」「バブル」

 「挿入」「グラフ」「バブル」と進む.空のグラフが挿入される.

「挿入」「グラフ」「バブル」
「挿入」「グラフ」「バブル」

「データの選択」

 プロットエリアを右クリックして「データの選択」を選ぶ.

「データの選択」
「データの選択」

データ系列の指定

 下図のように系列名,系列 X の値,系列 Y の値,系列のバブルサイズと入力する空欄が 4 つある.

 それぞれが Series オブジェクトの Name プロパティ, XValues プロパティ, Values プロパティ, BubbleSizes プロパティに該当する.

系列の指定
系列の指定

Series オブジェクトの 3 番目の次元は BubbleSizes プロパティ

 上記プロパティのうち Name プロパティ以外はすべて Variant 型であり,一次元配列を入力できる.逆に Series オブジェクトのプロパティで Variant 型を返すのはこの 3 つしか存在しない.

 4 番目の次元として時間を加えてバブルチャートの動画を作成する場合,EXCEL の Series オブジェクトが保持できる次元を超えるため,テーブルは第一正規形を維持できなくなる.

 EXCEL 以外の R や Python では最初から 3 次元のグラフを作成できるのだが,EXCEL では 2 次元の XY 平面上でしか表現できないため, Z 軸の大きさを仮想的にバブルサイズで代用している.

 今後 EXCEL が 3 次元グラフを作成できるようになるのか,あるいは Series オブジェクトに時間軸専門の (.TimeLine) プロパティを追加実装できるようになるのかは不明である.

 人間が認知できる次元の上限は時間を含めて 4 つまでであろう.今後 VR 技術の進歩により立体視がごく普通の環境になった時には, XYZ 空間内にバブルサイズと時間を加えた 5 次元の表現が可能となるのかもしれない.

 それ以上の次元表現については,ごく一部の特殊な空間認知能力を持つ人間しか理解できない世界となるだろう.次善の策として,色彩や透明度,テクスチャなどで表現する方法も考えられる.

マクロ記録の結果

 下記が記録されたマクロの記録である.9 行目から 12 行目は無視して構わない.重要なのは 14 行目から 17 行目のプロパティ名である.

バブルチャートの初期状態

 下図は何も書式設定をしていない,初期状態のバブルチャートである.ここからさまざまな「お化粧」を施していくことになるが,今回はここまでにしておこう.

初期状態のバブルチャート
初期状態のバブルチャート

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください