BDAstyle

Business Data Analysis & Visualization with Excel

高密度散布図(濃淡散布図)の作成 with Excel

イントロダクション

Step 0シチュエーションの設定

(Excelにおける処理上,現実的な基準にいう)サイズの大きなデータを散布図によってビジュアライズする際のTipsです。

例示にあたり,ここでは「分析ツール」アドインにて用意した2つの変数(標準正規乱数, N=10000)を使用します。

端緒として,上のデータをもとに散布図を作成してみると下図のようになることを確認できます。

ここでは,上図では判別できない,分布の “濃淡” を描き出すことを目的とします。

作図にあたり参考にしたWebページ


“濃淡” 表現のための3つの方法

「透明度」によるもの

Method A-Step 1

マーカーに「透明度」のパラメータを与え,下図のように加工します。Excelにおいて,これはおそらく最も与しやすいアプローチだと思われます。

具体的には,マーカーの枠線を「なし」にし,任意の「塗りつぶし」色を選択したうえで透明度のスライダーを適宜調整して実現します。

「影」によるもの

Method B-Step 1

マーカーに「影」のパラメータを与え,下図のように加工します。ペーパーへのアウトプットを考慮しないという前提で先の例と比較すれば,こちらは少なくともより繊細に濃淡を表現することには長けているかと思います。

これは具体的には,マーカーの枠線・塗り色とも「なし」にし,影のスタイル(オフセット(中央))を付与したうえで透明度のスライダーを適宜調整して実現します。

なお周縁部にかけての影のズレが気になる場合は,上の画面にいう「サイズ」を100%にすれば解決できます。

「カラースケール」によるもの

Method C-Step 1

ヒストグラムのようにデータをブロックで要約して表現します。なお誤解のないように言えば,このタイプはExcelの機能上の区別に言う「グラフ」でなく,その実はシート上に作成されるテーブルとなります。

具体的に,これは次のような手順をとって実現します。

Method C-Step 2

Step 0 の散布図を参考に,シートに必要な幅の目盛を適当な間隔でとっていきます。ここでは両軸とも[-4,4]であることから,きざみを0.1としています。

ブロックごとにデータをカウントします。たとえば,下式では参照範囲に該当するデータの数を,境界の一方を含めてA/B両列から数えます(その意味では外周の境界線上にデータが存在するような横軸・縦軸の上下限の設定はNGです。また,この計算の重さは元データのサイズに比例します → 通常一定の処理時間を要します)。

E2 =COUNTIFS($A:$A, ">="&E$1, $A:$A, "<"&F$1, $B:$B, ">="&$D3, $B:$B, "<"&$D2)

当該範囲に,条件付き書式「カラースケール」の設定を施します。

具体的には3色スケールを使用して「最小値」「中間値」「最大値」に任意の色を指定します。

当該範囲のデータを不可視にします。

具体的には「セルの書式設定」―「表示形式」に関し,ユーザー定義から「種類」を ;;; に書き換えます(cf. 「;;;」(セミコロン3つ)「;;」(セミコロン2つ)の意味は? ―"インストラクターのネタ帳")。

続けて,行/列の高さ/幅の調整,ないしは目盛線・目盛ラベル・凡例(としての見た目的なオブジェクト)などを適宜加えるなどして“グラフ”としての体裁を整えていきます。

なおMethod Cの場合,この要素が必然的に面倒ではあるので,「体裁を整え」る部分に関しては,Adobe Illustratorなどを併用した方がおそらくはかどるだろうなとは思います。

その他の参照