【D3.js】データを絞り込むユーザインタフェースとしても使える、パラレルコーディネート図を作成する

Parallel_Coordinates1

example

昨日の「オンライン学習部 #0」で作成したグラフです。
下記dot appendのチュートリアルビデオをみて作りました。

[dot append: 11] parallel coordinates from Ian Johnson on Vimeo.

ファンキーな音楽とともにイケメンなお兄さんがライブコーディングしながらD3.jsのプログラミングを教えてくれます。

パラレルコーディネートは、項目数(次元)の多いデータの概観把握に適したグラフですが、D3.jsを使ってインタラクティブに操作できるグラフとして作成することで、単にデータを可視化するだけでなく、多次元データの絞り込みが行えるユーザインタフェースとして利用できるところが面白いですね。
今回作成した図では、下記のように「年齢は20代で身長は180cm以上でぇ、年収が800万以上の人♪」みたいなちょっとイラっとする(?)絞り込みができるようになってますw

Parallel_Coordinates2

時間に余裕があったので、パラレルコーディネート上での絞り込みに連動して、実際のデータを表示するデータテーブルも作成してみました。
いろいろと応用の利きそうす。

サンプル

d3以外に、d3.divgrid.jsプラグインとd3.parcoords.jsプラグインを読み込みます。
また、パラレルコーディネート図を表示するdiv#example要素と、データテーブルを表示するdiv#grid要素を設置しています。

d3.parcoords.jsで作成した図は、目盛り以外のlineをcanvas上に描画する仕様になっています。
canvasを使うことによってデータ数が多くなっても比較的重くならないように作られてます。

カテゴリー: D3v3