The Vega visualization grammar.

Vega: A Visualization Grammar

Vega is a visualization grammar, a declarative format for creating and saving interactive visualization designs. With Vega you can describe data visualizations in a JSON format, and generate interactive views using either HTML5 Canvas or SVG.

To learn more, visit the wiki.

This repository contains the vega-runtime system, which parses Vega specifications to produce interactive visualizations which run in the browser using a scenegraph-based rendering system.

To manually build Vega, you must have npm installed.

  1. Run npm install in the vega folder to install dependencies.
  2. Run npm run build. This will invoke browserify to bundle the source files into vega.js, and then uglify-js to create the minified vega.min.js.

Vega visualization specifications can be validated against a JSON Schema. To generate the vega-schema.json definition file, run npm run schema.

Built files are available on npm, and under tagged releases. The latest built versions can be found at vega.min.js and vega-schema.json.

Vega can also be run server-side using node.js. When running in "headless" mode, Vega can be used to render specifications directly to PNG or SVG. In addition to the summary below, see the Headless Mode wiki documentation for more information.

Vega includes two command line tools for converting Vega JSON specifications to rendered PNG or SVG:

  • vg2png: vg2png [-b basedir] vega_json_file [output_png_file]
  • vg2svg: vg2svg [-b basedir] [-h] vega_json_file [output_svg_file]

Within the Vega project directories, you can invoke these utilities using ./bin/vg2png or ./bin/vg2svg. If you import Vega using npm, these commands are accessible either locally (node_modules/.bin/vg2png) or globally (vg2png) depending on how you install the Vega package.

To include Vega in a node project, first install it from the command line using npm (npm install vega) or by including "vega" among the dependencies in your package.json file.