はじめに
前回は,統計学的観点からの情報可視化へのアプローチとして,「階層的クラスタリング」の手法を紹介し,その実装と動作確認を行いました。
今回からは,階層的クラスタリングの実行結果を視覚的に分かりやすく表現する手段として,「ツリーマップ」と呼ばれるテクニックを取り上げます。
ソースコードのダウンロード
今回作成するプログラムのソースコードは,こちらから一括してダウンロードすることができます。ZIPファイルを展開して生成されるフォルダを,プロジェクトとしてNetBeansに読み込むことも可能です。
ツリーマップの概要
ツリーマップ(treemap)とは,二次元平面上の領域を入れ子状に分割することによって,木構造のデータを可視化する手法です。
ツリーマップを利用した情報可視化の有名な例としては,世界のニュース記事をタイル状に並べて閲覧できるnewsmap(図1)があります。
また,著者の開発したHatenarMaps(図2)も,ボロノイツリーマップ(voronoi treemap)と呼ばれるツリーマップの一種を使用しています。
なお,Javaにはjava.util.TreeMapという名前のクラスが存在しますが,これは平衡木を使用した連想配列の実装を指しており,可視化手法のツリーマップとは全く関係がありませんので注意してください。
ツリーマップの長所
ツリーマップは,一般的なツリー記法と比較して,2つの大きな利点を持っています。
1つ目の利点は,空間効率の良い情報可視化を実現できることです。画面を隙間なく利用するため,限られた空間に多くの情報を詰め込むことができます。ツリーマップを使えば,画面上に数百,数千のノードを一度に表示することも可能です。
2つ目の利点は,分割された各領域の面積を自由に決められることです。newsmapとHatenarMapsでは,このツリーマップの性質を活用し,重要なニュース記事や著名なブロガーほど大きな面積で表示されるように工夫を行っています。

