Vega-Lite: a high-level visualization grammar

Vega-Lite is a high-level visualization grammar. It provides a concise JSON syntax for supporting rapid generation of visualizations to support analysis. Vega-Lite specifications can be compiled to Vega specifications.

Vega-Lite specifications describe visualizations as mappings from data to properties of graphical marks (e.g., points or bars). It automatically produces visualization components including axes, legends, and scales. It then determines properties of these components based on a set of carefully designed rules. This approach allows Vega-Lite specifications to be succinct and expressive, but also provide user control. As Vega-Lite is designed for analysis, it supports data transformations such as aggregation, binning, filtering, sorting, and visual transformations including stacking and faceting. Get started Try online

Read our introduction article on Medium, check out the documentation and take a look at our example gallery.

Announcement: We are working on extending our grammar with interaction for the 2.0 release. For a sneak peek, you can read our award-winning research paper at VIS 2016.

Example

This is a Vega-Lite specification to create a bar chart that shows the average temperature in Seattle for each month.

{ "data": {"url": "data/seattle-temps.csv"}, "mark": "bar", "encoding": { "x": { "timeUnit": "month", "field": "date", "type": "temporal", "axis": {"shortTimeLabels": true} }, "y": { "aggregate": "mean", "field": "temp", "type": "quantitative" } } }

Team

The development of Vega-Lite is led by Kanit “Ham” Wongsuphasawat, Dominik Moritz, and Jeffrey Heer of the University Washington Interactive Data Lab, with significant help from Arvind Satyanarayan. Please see the contributors page for the full list of contributors.