Vega is a visualization grammar, a declarative language for creating, saving, and sharing interactive visualization designs. With Vega, you can describe the visual appearance and interactive behavior of a visualization in a JSON format, and generate web-based views using Canvas or SVG.
Vega provides basic building blocks for a wide variety of visualization designs: data loading and transformation, scales, map projections, axes, legends, and graphical marks such as rectangles, lines, plotting symbols, etc. Interaction techniques can be specified using reactive signals that dynamically modify a visualization in response to input event streams.
A Vega specification defines an interactive visualization in a JSON format. Specifications are parsed by Vega’s JavaScript runtime to generate both static images or interactive web-based views. Vega provides a convenient representation for computational generation of visualizations, and can serve as a foundation for new APIs and visual analysis tools.
To get started with Vega, take a look at the tutorials, example gallery, and usage guide, or read about the project’s goals.
To rapidly create common statistical graphics, check out Vega-Lite, a higher-level language built on top of Vega. Not that into JavaScript? Take a look at the Altair Python API for Vega-Lite.
Need help or want to share examples? Join the Vega discussion forum or the Vega Slack organization!