Vega-Lite is a high-level grammar of interactive graphics. It provides a concise JSON syntax for rapidly generating 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). The Vega-Lite compiler 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 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. Moreover, Vega-Lite specifications can be composed into layered and multi-view displays, and made interactive with selections.
Read our introduction article to Vega-Lite v2 on Medium, watch our OpenVis Conf talk about the new features in Vega-Lite v2, check out the documentation and take a look at our example gallery.
With Vega-Lite, we can start with a bar chart of the average monthly precipitation in Seattle, overlay a rule for the overall yearly average, and have it represent an interactive moving average for a dragged region.
- Award winning research paper and video of our OpenVis Conf talk on the design of Vega-Lite
- JSON schema specification for Vega-Lite (latest)
- Ask questions about Vega-Lite in the Vega Discussion Group / Mailing List or Slack
- Fork our Vega-Lite Block, or Observable Notebook.
The development of Vega-Lite is led by Kanit “Ham” Wongsuphasawat, Dominik Moritz, Arvind Satyanarayan, and Jeffrey Heer of the University Washington Interactive Data Lab, with significant help from Will Strimling, Yuhan (Zoe) Lu, Matthew Chun, and Akshat Shrivastava. Please see the contributors page for the full list of contributors.