LoginSignup
43
41

More than 5 years have passed since last update.

データ可視化記述フォーマットVega(Vega-lite)とPythonバインディングのAltair

Last updated at Posted at 2017-01-26

仕事で実験装置が吐く大量のデータから大量の棒グラフや折れ線グラフを書いてレポーティングするルーチンがよく発生するので、プロットを自動化する必要があった。あとJupyter notebookでグラフを作成したい。ついでにD3で作っている可視化Webアプリケーションでもグラフを表示したい、ということでJSONで記述されたデータ可視化言語のようなものがあったらいいなあと思っていた。

Vega

JSON形式でデータプロットの設定やデータを記述すると、CanvasやSVGでデータプロットが表示される。今後各言語に対応したVegaパーサの開発が進めば、D3やmatplotlibなど各プログラミング言語の可視化ライブラリに特有の文法や細かい表示の違いに悩まされること無く、共通フォーマットで可視化されたデータを共有することが可能になるだろう。

Vega Editorというウェブアプリケーションを使って動作を確認することも可能。上部のプルダウンメニューから様々な使用例を見ることができる。

下記はアメリカの空港の分布、マウスオンで路線が表示される。
http://vega.github.io/vega-editor/?mode=vega&spec=airports

Vega-lite

Vegaの軽量版。棒グラフ、折れ線グラフ、散布図などを作成するにはこれで十分。Vegaと同様に、Vega Editorでフォーマットと使用例が確認できる。

Altair

https://altair-viz.github.io/index.html
Vega-liteパーサのPythonバインディング。

Pandasで処理したデータをAltairで可視化という感じになる。Jupyter notebookでの使用例も豊富にあるので、説明するよりは例を見てもらったほうが早そう。
https://altair-viz.github.io/gallery/index.html

(2017.2.10 追記)
Jupyter notebookで使うだけならAltairは必要なさそう。
IPython VegaというnotebookのextensionをインストールしてVegaかVega-liteのJSONを読み込めばより簡単にグラフをnotebook上に表示できる。

IPython Vega
https://github.com/vega/ipyvega

43
41
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
43
41