サークル・パッキング(Circle Packing)は 階層的なデータを円の集合として可視化する手法 です。
名前の通り「円(circle)」を「詰め込む(packing)」ことで、全体と部分、親子関係を視覚的に表します。ツリーマップ(Tree Map)と同じく階層構造を扱いますが、長方形ではなく円を使うことで より柔らかく直感的な印象 を与えます。特に教育・展示・広報などで、データの構造をやさしく見せたいときに有効です。
図解の見方
サークル・パッキングの基本的な読み方は以下の通りです。
要素 | 意味 |
---|---|
円のサイズ | 各要素の大きさ(数値や比率など)を表します。大きい円ほど値が大きいことを示します。 |
親円と子円 | 大きな円の中に小さな円が入ることで、階層構造(親カテゴリ→子カテゴリ)を表します。 |
色 | 多くの場合、カテゴリや変数の種類を示します。例:業種別・分類別など。 |
円の位置 | 近い位置に配置される円ほど関係が深いことを示す場合があります。ただし、位置には必ずしも数理的な意味はなく、配置は見やすさ重視です。 |
図全体を見ることで、「どのグループが全体の中でどれくらいの割合を占めるのか」「どのグループにどの小分類が含まれているか」を同時に把握できます。
典型的な使用例
サークル・パッキングは、以下のような階層的データに適しています。
- ファイルシステム構造:フォルダ(親円)とファイル(子円)を大きさで示す
- 生物分類:界 → 門 → 綱 → 目 → 科 → 属 → 種の階層を視覚化
- 企業・産業構造:業種別・企業別の経済規模を比較
- 地域別データ:都道府県→市区町村→町丁などの人口構成
これらの用途では、階層全体の構造を俯瞰しやすく、個別の値も面積からおおよそ理解できます。
技術的背景
サークル・パッキングのレイアウトは 円充填問題(circle packing problem) を応用しています。
この問題では、「円を重ならないように配置し、できるだけコンパクトにまとめる」ことを目的とします。データ可視化においては、各階層の親円内に子円を最適に配置するアルゴリズムが用いられます。
代表的な実装例として D3.js の “circle packing layout” が挙げられます。このレイアウトは各ノードの値(value)をもとに半径を計算し、再帰的に親子関係を描画します。
ツリーマップとの比較をまとめると以下のようになります。
比較項目 | サークル・パッキング | ツリーマップ |
---|---|---|
形状 | 円 | 長方形 |
空間効率 | やや低い(すき間ができる) | 高い(面積を埋める) |
階層の見やすさ | 親子関係が自然で直感的 | 構造は明確だが硬い印象 |
用途 | 教育・展示・芸術的可視化 | ビジネス・分析的可視化 |
教育的意義
美術大学や情報デザインの授業において、サークル・パッキングは以下の学習効果をもたらします。
-
階層構造の理解
円の入れ子構造を通じて、「全体と部分」「親と子」という概念を視覚的に把握できる。 -
数量感覚の育成
面積の大小によって、量の違いを直感的に感じ取れる。 -
美的表現の探求
円による構成は視覚的バランスが良く、アート作品やインフォグラフィックスの素材としても応用できる。 -
他の図法との比較学習
ツリーマップやサンバーストチャートとの対比により、図法選択の意義を理解できる。
まとめ
サークル・パッキングは 「階層構造のやさしい見せ方」 として非常に有効な手法です。
空間効率よりも 構造の直感的理解と視覚的魅力 を重視する際に選ばれます。
データの性質に応じて、ツリーマップや他の階層可視化手法と組み合わせることで、より効果的なデータ表現が可能になります。