
VegaはワシントンUW Interactive Data Lab(旧StanfordのHCI Group)が開発した、データ可視化のための宣言的文法です。棒グラフや散布図のような既製チャートを呼び出す代わりに、データ、変換、スケール、軸、マーク、エンコーディングといった可視化の構成要素をJSONオブジェクトで記述すれば、Vegaランタイムが解釈してSVGまたはCanvasにレンダリングします。Jeffrey Heer教授らが主導する学術系プロジェクトで、JupyterやAltair、Tableau Polarisの研究系譜を引き継ぐ存在として知られています。本記事ではVegaの思想と現実の活用シーンを整理します。
この記事の目次
- 文法としての可視化
- Vega の系譜と研究背景
- Vega-Liteとの役割分担
- 誰がVega を使うか
- まとめ
文法としての可視化

Vegaは可視化を「データ→変換→スケール→マーク→軸→凡例」という一連の工程として捉え、それぞれをJSON記述で表現する文法です。dataブロックで入力ソース(URL、インライン配列、変換チェーン)を指定し、transformで集計・フィルタ・ビン分割を行い、scaleで値からピクセル空間へのマッピングを定義し、markでrect/line/circle/areaなど描画要素を指定します。この組み合わせで棒・線・散布図・ヒートマップ・ネットワークなどあらゆる図を統一的に表現できます。
JSON文法の優位性は再利用と相互運用にあります。VegaのJSONはサーバー側で生成してフロントへ送れますし、Pythonで構築したAltairスペックがそのままJupyter notebookやWebダッシュボードで動きます。研究分野では「可視化を再現可能な形で共有する」標準として使われており、論文の補足資料にVega specをそのまま添付する事例も増えています。
Vega の系譜と研究背景

Vegaの源流は1999年スタンフォード大学のChris StoltonとPat HanrahanがPolarisプロジェクトで提唱した「Visualization Grammar」にあります。Polarisは後にTableauとして商用化され、Wilkinsonの著書「The Grammar of Graphics」(1999年)とともに、可視化を文法として捉える発想を確立しました。その後Jeffrey Heer教授がProtovis、D3.js、Vegaと順次プロジェクトを進め、Vegaは学術成果の集大成として位置付けられます。
Vega自体はOSSで、BSD-3-Clauseライセンスで公開されています。UW Interactive Data Labが中心となり、学生コントリビュータと業界協力者(特にMicrosoft Research、Mozilla)が継続開発しています。実用面ではAltairというPythonバインディングを通じてJupyter Notebookでの分析可視化に広く使われ、JupyterLabにもVega/Vega-Liteレンダラーが標準搭載されています。
Vega-Liteとの役割分担

VegaのJSONはきめ細かな制御が可能な分、記述量が大きくなる傾向があります。簡単な散布図でも数十行のJSONが必要になることが多く、軽量な探索的データ分析にはやや重い構造です。この課題に応えるため、同じ研究グループが2016年にVega-Liteを発表し、より高レベルな省略記法を提供しました。Vega-LiteのJSONはVegaにコンパイルされて実行されるため、ランタイムは共通です。
実務では「Vega-Liteで書いて、特殊な要件があるときだけVega仕様まで降りる」のが標準アプローチです。AltairもVega-Liteベースで、JupyterのMatplotlibやSeabornと並ぶPython可視化選択肢として浸透しました。Vegaは「低レベル文法」、Vega-Liteは「高レベル文法」、AltairはVega-LiteのPythonラッパーという三層構造で、用途に応じて層を選びます。
誰がVega を使うか

Vegaの実用面での採用先は多岐にわたります。Microsoft Power BIではカスタムビジュアル機能の一部としてVega/Vega-Liteをサポートしており、ユーザーがJSON仕様を書いてダッシュボードに埋め込めます。Apache SupersetもVega-Liteをチャートエンジンの一つに採用しており、SQLクエリ結果を直接Vega-Lite specに変換して描画します。GitHubのMarkdownエンジンもVega-Liteレンダリングをサポートするようになりました。
学術論文向けの可視化エディタとして人気なのがVega-Editor(オンラインエディタ)です。JSONを左ペインで編集すると右ペインで即座に描画され、研究者は実験データの可視化を素早く試行錯誤できます。Observable NotebookでもVegaセルがサポートされており、JavaScript環境とPython環境の双方で同じspec仕様が使えるのは再現性研究の観点から大きな利点です。
まとめ
Vegaは「可視化を文法として記述する」発想を結晶化させた研究系ライブラリで、Chart.jsやEChartsとは出発点が異なります。JSON仕様としてspecを共有でき、Pythonの Altair やWebのVega-Liteと層構造で連携する点が魅力です。報道や論文、データジャーナリズム、BI埋め込みなど再現性が重視される場面では、Vega系統の文法的アプローチが強力な選択肢となるでしょう。
※本記事はIT用語辞典の手書きドラフトです。公開前に最新情報・出典を確認のうえ加筆修正してください。

コメント