最近になってThe Grammar of Graphicsという本の存在を知った。著者はSPSSで統計グラフィックシステムを開発していたらしい。
SPSS社で、Wilkinsonは画像プログラマーを組織化しnViZnプラットフォームを開発した。 nViZnは、SPSSやClementineなどの画像エンジンとして利用されている。nViZnプラットフォーム開発過程で構築された統計画像表示の概念は、The Grammar of Graphicsという本にまとめられ出版された。この本はのちに、フリーの統計ソフトであるRの画像パッケージであるggplot2や、スタンフォード大学のPolaris projectなどに大きな影響を与えた。
The Grammar of Graphicsを元にした仕事としてはA Layered Grammar of Graphicsがある。こちらの著者はggplot2の作者だそうだ。
ggplot2は、 統計プログラミング言語Rのデータ視覚化パッケージである。2005年にハドリー・ウィッカムによって作成されたggplot2は、リーランド・ウィルキンソンのGrammar of Graphicsの実装である。これは、グラフをスケールやレイヤーなどのセマンティックコンポーネントに分割するデータ視覚化の一般的なスキームである。
そしてVega-Lite: A Grammar of Interactive Graphicsもこの流れを汲んでいるようだ。Vega-LiteはVegaの上に構築される高レベルの宣言型言語で、既存のものに比べてインタラクティビティに力を入れているらしい。Vega-LiteもVegaも記述にはJSONを用いるが、Vega-AltairというVega-LiteのPythonバインディングのようなものもある。
これらには sum などの集計処理を行う演算子を備えているという特徴がある。見る限り便利そうではあるが、実装がナイーヴだと性能面で困りそうではある。では集計演算子入りの記述を入力として集計処理部分のみを実行し、集計演算子なしの記述を出力する仕組みがあれば良いのではないか、でも実装が面倒じゃないか、などと考えながらウェブをうろうろしていたらVegaFusionを見つけた。Example Galleryにある10 Million Taxi Ridesの速さなどはもう少し早く知っておきたかったし、不勉強が悔やまれる。