データを可視化する 20 のツール

海外サイトで「The top 20 data visualisation tools」という記事を見かけたのですが、可視化はかねてから興味を持ち続けているテーマなので、紹介も兼ねて大雑把に纏めておきます。英語は得意じゃないので若干主観を交えた超訳ですけどw

入門者用ツール

1. Excel

初心者レベルならツールは使い慣れたものを使うのが一番。Excel って結構複雑なこともできるんですよ。温度一覧表のセルに色付けして分散図っぽくするとか。人様向けに Web 公開するって訳でもなけりゃ、スピーディにデータ加工できるツールを選ぶべきかと。もし持っていなかったら、Google Docsスプレッドシートを使うのもいいでしょう。

http://www.netmagazine.com/features/top-20-data-visualisation-tools

Excel

2. CSV/JSON

可視化ツールじゃないですけど、非常に一般的なデータ形式なのでこれらをマスターしておくことは重要です。いずれ、以下に挙げるような可視化ツールにこれらフォーマットのデータを食わせることになりますし。

http://www.netmagazine.com/features/top-20-data-visualisation-tools

オンライン・ツール

3. Google チャートAPI

グラフを静的画像で提供してくれる「Googleイメージチャート」は廃止されちゃいましたけど、SVGcanvas 要素、VML 等の多彩な形式での動的生成 API が使えます。棒グラフ・折れ線グラフ・マッピングQRコードと、そりゃもう何でも作れちゃいますぜダンナ。極端にカスタマイズしたいというのでなければ、とっかかりとして最適なツールとなるでしょう。

http://www.netmagazine.com/features/top-20-data-visualisation-tools

Google チャートAPI

4. Flot

折れ線グラフと棒グラフに関して言えば、Flot はグレイトな JavaScript ライブラリです。canvas 要素が扱えるブラウザ全てで動作し、多彩なコールバックを指定できるので、マウスオーバーやクリックでのちょっとした仕掛けもカンタンです。また jQuery モジュールでもある為、jQuery ユーザなら学習コストも低いですしね。

http://www.netmagazine.com/features/top-20-data-visualisation-tools

Flot

5. Raphaël

Raphaël もまた強力な JavaScript 作図ライブラリです。大きな特徴は、SVGVML といったベクトル形式データでの出力にフォーカスしていることで、他の DOM 要素と連動した表現を行うことも可能です。まずは開発元のデモをご覧頂ければと。イラレで作ったんじゃねーの? って思うようなスゴいのがたくさんありますぜ。

http://www.netmagazine.com/features/top-20-data-visualisation-tools

Rapha〓l

6. D3

もうひとつ、SVG 出力の JS ライブラリといえば D3ギャラリーページを見ると分かるように、ボロノイ図木構造マップ、ワードクラウドのような複雑な表現が満載です。故に、常にお薦めできるツールではないかもしれませんが、もし高度なスキルをお持ちなら知っておくべきです。

http://www.netmagazine.com/features/top-20-data-visualisation-tools

D3

7. Visual.ly

単なるデータ可視化を超えて、インフォグラッフィクの領域に挑もうとするなら、もう Visual.ly でしょう。インフォグラッフィク・デザイナーの間じゃ一番人気のオンライン・ツールです。テンプレートを元に作図が出来、ソーシャルサービスとも連動した表現活動やマーケットプレイスへの出品さえ可能なんです。

http://www.netmagazine.com/features/top-20-data-visualisation-tools

Visual.ly

インタラクティブウィジェット

可視化を推し進めて行くと、ボタンやスライダーといった部品との連動、といったような対話的な処理が必要になったりします。以下は、そんな時に便利なウィジェット達を。

http://www.netmagazine.com/features/top-20-data-visualisation-tools
8. Crossfilter

Crossfilter は可視化にフィルタ機能を加えた JavaScript ライブラリです。サンプルには、グラフから範囲を選択して表と連動させる例が掲載されています。

http://www.netmagazine.com/features/top-20-data-visualisation-tools

Crossfilter

9. Tangle

とある複雑な数式をグラフ化して、さらにパラメータとグラフとの変化の相関を可視化したい、というような場合ならこれ、Tangle です。サンプルでの、グラフ上のハンドルをドラッグしてパラメタが変化する様子をご覧下さい。もう魔法みたいです。

http://www.netmagazine.com/features/top-20-data-visualisation-tools

Tangle

マッピング

かつてマッピングを Web で表現するのは大変な作業でした。けれど Google 地図の登場でそんな辛さも過去のもの。彼らの API の提供は Web マッピング手法の一つの方向性を提示したものとなり、以来我々は Google 地図の代替となり得る複数の手段を持つに至っています。

http://www.netmagazine.com/features/top-20-data-visualisation-tools
10. Modest Maps

Modest Maps はたった10KBの小さな JavaScript ライブラリで、地図の表示に必要な最小限の機能を持っています。そして、Wax のようないくつかの拡張機能と組み合わせることで豊かな表現をも可能にするのです。

http://www.netmagazine.com/features/top-20-data-visualisation-tools

Modest Maps

11. Leaflet

Leaflet はモバイル向けページに最適な、小さなマッピングフレームワークです。Modest Maps も Leaflet も、強力なコミュニティに支えられたオープンソース・プロダクトなので、今後の長きに渡ってこれらの利便性を享受できるでしょう。

http://www.netmagazine.com/features/top-20-data-visualisation-tools

Leaflet

12. Polymaps

Polymaps もまたもうひとつのマッピング用ライブラリですが、さらに厳密な表現を提供しようとしています。地図のタイルにはベクトルデータを用い、スピーディな表示や多彩な表現が特徴です。

http://www.netmagazine.com/features/top-20-data-visualisation-tools

Polymaps

13. OpenLayers

OpenLayers はおそらく、この種のプロダクトの中でいちばん堅牢じゃなイカかと。ドキュメントは親切とは言えず、マスターするのは難しいでしょうが、ソリューションとして完結しており、他のライブラリ等を必要とせずに目的を完遂できます。

http://www.netmagazine.com/features/top-20-data-visualisation-tools

OpenLayers

14. Kartograph

「Web マッピングの再考」、これが Kartograph のスローガンです。Google 地図を始めとした製品で見慣れているメルカトル図法ですが、Kartograph はそれ以外の選択肢を与えてくれるという訳です。方位や距離といった重要な要素を Web マッピングでストリクトに表現したくなった時、Kartograph の出番です。

http://www.netmagazine.com/features/top-20-data-visualisation-tools

Kartograph

15. CartoDB

最後に CartoDB、これは知っておくべきです。何故って、表形式のデータと地図を組みあせて表現を行うなら、こいつの右に出る者はないからです。例えば、住所録データを CSV で与えてやると住所を緯度経度に変換してマッピングするとか。有料サービスですが、5つの表データまでは無料で利用できます。

http://www.netmagazine.com/features/top-20-data-visualisation-tools

CartoDB

インライン・グラフ

最近の傾向ですが、Web ページにちょっとした小さなグラフをインラインで埋め込む例が見られます(所謂スパークラインというやつですね)。そんな時は FF ChartwellChartjunk が便利でしょう。

http://www.netmagazine.com/features/top-20-data-visualisation-tools

もっと本格的なやつ

さて、さらに本格的な可視化手段を求めるなら、上に挙げたようなウィジェットやサービスではなく、プログラミングも含めた統合環境を導入する必要があるかもしれませんね。

http://www.netmagazine.com/features/top-20-data-visualisation-tools
16. Processing

Processing はまさに、インタラクティブな可視化の申し子といえるかも知れません。シンプルなコードを書くだけで多彩な作図が出来ます。さらに Processing.js のような JavaScript 上での実行環境も用意されています。様々なプラットフォームへの移植が進行中で、ユーザ・コミュニティによる大量のサンプルコードがあるのも魅力です。

http://www.netmagazine.com/features/top-20-data-visualisation-tools

Processing

17. NodeBox

NodeBox は、2次元グラフ作図用の Mac OS X アプリケーションです。もし Python の文法を知っているなら、変数を調整しながら瞬時に結果を可視化できますよ。

http://www.netmagazine.com/features/top-20-data-visualisation-tools

NodeBox

プロ用ツール

以下は、冒頭にあげた Excel とは対極にある、プロ御用達なデータ分析ツールとなります。データ可視化を真っ剣に考えているなら、高価な SPSSSAS を利用するも良いでしょうし、これらオープンソースな製品を選ぶのも良い手段です。

http://www.netmagazine.com/features/top-20-data-visualisation-tools
18. R

大規模データの統計や解析に用いられる R は、とても多く複雑な機能を持つツールです。学習曲線はここで挙げた中で最も急勾配である反面、強力なユーザ・コミュニティに支えられている心強さもあります。マスターするのは大変ですが、一定のレベルに達した時、非常に快適な環境を手に入れられることは間違いありません。

http://www.netmagazine.com/features/top-20-data-visualisation-tools

R

19. Weka

より深くデータ科学に深くコミットするなら、データ・マイニングの能力も要求されることでしょう。Weka は、様々な属性に基づいてデータを分類し、クラスタリングするのに秀でた Java アプリケーションです。

http://www.netmagazine.com/features/top-20-data-visualisation-tools

Weka

20. Gephi

Facebook 等の普及で、ソーシャル・グラフの話題も珍しいことではなくなってきましたね。そう、Gephiグラフ理論に基づいた、あらゆる種類のネットワークや階層グラフを可視化するツールです。大量のデータを処理できるだけでなく、美しいビジュアルでの表現能力を持っています。

http://www.netmagazine.com/features/top-20-data-visualisation-tools

Gephi