Edited at

階層構造を持つデータの可視化

More than 1 year has passed since last update.

随時更新します。


階層構造を持つデータ

社会に存在するデータのうち、たとえばこのようなデータが該当する。

- コンピュータOSが管理するファイルシステムにおけるファイルとディレクトリの関係

- 書籍の構造(部、章、節)

- レガシーな会社組織(社長、部長、課長)

- 生物の分類法

- 文献学(philology)


表現方法

大きく三つに分ける。


隣接関係・ダイアグラム(Adjacency diagrams)

ノードの相対的な配置によるトポロジーを示す。アイシクル・ツリーは矩形のレイアウトを使用し、サンバースト・チャートは放射状のレイアウトを使用する。


アイシクル・ツリー(Icicle Tree)


  • https://homes.cs.washington.edu/~jheer/files/zoo/

  • 上から下(垂直)または左右(水平)へ階層関係を表現している。ネストしないため、スペース効率は低下する。各セルの面積は、ツリーマップと同じように、データと連動している。垂直へ階層関係を表現する場合は、階層ごとに高さを一律にし、データと連動させない。


サンバースト・チャート(Sunburst Chart)



- John Stasko作

- http://www.cc.gatech.edu/gvu/ii/sunburst/

- http://www.cc.gatech.edu/~stasko/


エンクロージャー・ダイアグラム(Enclosure diagrams)

領域エンコードも使用するが、包含によってトポロジーを表示する。 ツリーマップは、領域を矩形に再帰的に細分する。 サークルパッキングはサークルをネストする。サークルパッキングはツリーマップほど空間効率的ではないが、おそらくトポロジーをより容易に示す。


ツリーマップ(Treemaps)

ツリーマップは、限られた表示スペースを効率的に使用して大量の階層データを描く、空間充填ビジュアライゼーションといえる。

メリーランド大学のHuman-Computer Interaction Labで開発された。元々は、共有しているハードディスクの容量が限られていたことから、可視化することで効率よく使うために、このチャートが作られた。

ツリー構造のノードリンクダイアグラムだと、描画に必要なスペースが広すぎたので、限られたスペースを有効に活用するためだという。

如何に知覚的に問題がないツリーマップを作るべきかについて「ツリーマップを作成するための知覚的ガイドライン」(Perceptual Guidelines for Creating Rectangular Treemaps)というタイトルでJeffrey Heerらが論文を発表している。

- http://vis.berkeley.edu/papers/treepercept/

他に以下のような論文がある。


  • The Shaping of Information by Visual Metaphors. Caroline Ziemkiewicz and Robert Kosara, 2008.


  • A Comparison of 2-D Visualizations of Hierarchies. Todd Barlow and Padraic Neville, 2001.


  • The effect of aesthetic on the usability of data visualization. Nick Cawthon and Andrew Vande Moere, 2007.



ライブラリへの実装例


作品例


サークルパッキング(Circle Packing)



- https://github.com/d3/d3-hierarchy/blob/master/README.md#pack

- 円のサイズは、量的データを表現する。 囲む円は各階層のおおよその累積サイズを示すが、無駄なスペースのために歪みがある。葉ノードのみを正確に比較することができる。


ツリーマップの応用例


サーキュラー・ツリー・マップ(Circular Treemap)


  • http://lip.sourceforge.net/ctreemap.html

  • 放射状のレイアウトを持つツリーマップ。

  • 入れ子の円で階層構造と、要素の値を表現する。

  • オリジナルのツリーマップと異なり、スペースを若干活用できずに犠牲にしてしまう。

  • ノードのアスペクト比は常に同一(正円である)という良さがある。

  • ツリーマップの作者Ben Shneidermanにはリジェクトされたらしい。


サーキュラー・パテーション(Circular Partitions)


  • Tasos SidiropoulosとKrzysztof Onak作

  • https://onak.pl/papers/circular_partitions_for_visualization_and_embeddings.php

  • ユークリッド平面の階層的分割を実現する。アスペクト比が小さく、指定された容積制約を満たす、凸多角形の階層からなる。これらのパーティションを適用して、一般的なツリーマップの視覚化方法の自然な拡張を得る、という。またこのアルゴリズムは矩形のみを使用することに制約されず、構築されたポリゴンのアスペクト比をより良く保証することができる、とのこと。


サーキュラー・ボロノイ・ツリーマップ(Circular Voronoi Treemap)


パーテイション・レイアウト

https://github.com/d3/d3-hierarchy/blob/master/README.md#partition