Vega-Lite Ecosystem
This is an incomplete list of integrations, applications, and extensions of the Vega-Lite language and compiler. If you want to add a tool or library, edit this file and send us a pull request.
We mark featured plugins and tools with a .
Tools for Authoring Vega-Lite Visualizations
- Vega-Editor, the online editor for Vega and Vega-Lite. You can also get an output Vega spec from a given Vega-Lite spec as well.
- Vega Viewer, a VSCode extension for interactive preview of Vega and Vega-Lite maps and graphs.
- vega-desktop, a desktop app that lets you open
.vg.json
and.vl.json
to see visualizations just like you open image files with an image viewer. This is useful for creating visualizations with Vega/Vega-Lite locally. - Voyager (2), visualization tool for exploratory data analysis that blends a Tableau-style specification interface (formerly Polestar) with chart recommendations (formerly the Voyager visualization browser) and generates Vega-Lite visualizations.
- Bayes - A creative data exploration and storytelling tool. Easily create and publish Vega-Lite visualizations.
- data.world Chart Builder, a chart builder that imports data from queries in data.world. The generated specs can be saved locally or uploaded back to data.world. Project is open source.
- ColorBrewer-Lite, a fork of the ColorBrewer project that allows importing Vega-Lite specifications into the ColorBrewer interface to pick effective color schemes “in situ” for any color encoding.
- Emacs Vega View, a tool that allows one to view Vega visualizations directly within emacs, currently supporting specs written in JSON, elisp or clojure.
- Codimd, realtime collaborative markdown notes editor with support of various diagram syntaxes including Vega-Lite.
- Ivy, an Integrated Visualization Editing environment that wraps Vega-Lite (among other declarative visualization grammars) as templates to facilitate reuse, exploration, and opportunistic creation. Includes an in-app reproduction of Polestar.
- Deneb, a Power BI custom visual with an editor for Vega-Lite or Vega specifications.
- VizLinter, an online editor that detects and fixes encoding issues based on vega-lite-linter.
- Datapane, a Python framework for building interactive reports from open-source visualization formats such as Vega-Lite.
- Graphpad, an editor for creating Vega-Lite visualizations in the Figjam collaborative whiteboarding tool.
Tools for Scaling Vega-Lite Visualizations
- altair-transform, a Python library for pre-evaluating Altair/Vega-Lite transforms with Pandas.
- ibis-vega-transform, a Python library and JupyterLab extension for evaluating Altair/Vega-Lite transforms with external databases using Ibis.
- StatisticalGraphics.jl, a Julia library for statistical graphics.
- VegaFusion, a Rust library and Python API that provides server-side acceleration for interactive Altair/Vega-Lite visualizations using Apache Arrow and DataFusion.
- Scalable Vega, a demo of how to scale Vega to large datasets by implementing a custom transform that accepts SQL queries and requests data from an external database.
Plug-ins for Vega-Lite
Bindings for Programming Languages
- Altair exposes a Python API for building statistical visualizations that follows Vega-Lite syntax.
- Vega-Lite API is a JavaScript API for creating Vega-Lite JSON specifications.
- elm-vegaLite generates Vega-Lite specifications in the pure functional language Elm.
- Altair wrapper in R
- ipyvega supports Vega and Vega-Lite charts in Jupyter Notebooks.
- VegaLite (Elixir bindings).
- VegaLite.jl are Julia bindings to Vega and Vega-Lite.
- Vega-Lite “bindings” for R, create Vega-Lite visualizations in R.
- vegaliteR, vega-lite htmlwidget for R.
- Vegas brings visualizations to Scala and Spark using Vega-Lite.
- Smile is a machine learning engine for JVM using Vega-Lite.
- vegawidget, low-level interface in R to render Vega and Vega-Lite specifications as htmlwidgets, including functions to interact with data, events, and signals in Shiny.
- vegabrite, functional interface for building up Vega-Lite specifications in R. Built on top of the lower-level interface provided by vegawidget
- Hanami A Clojure(Script) library for creating domain specific interactive visualization applications. Exposes a parameterized template system that uses recursive transformation to finished Vega-Lite and Vega specs. Built with reagent (react) and re-com enabled.
- Vizard tiny REPL client to visualize Clojure data in browser w/ Vega-Lite.
- Oz is a Vega & Vega-Lite based visualization and scientific document toolkit for Clojure & ClojureScript (Reagent). Originally a fork of Vizard, Oz adds support for Vega, publishing/sharing, markdown & hiccup extensions for embedding Vega-Lite & Vega visualizations in html documents, static html output, and Jupyter notebooks.
- Vizsla is a simple JavaScript API for Vega-Lite.
- Vega node for Node-RED Dashboard supports Vega and Vega-Lite visualizations on the Node-RED flow-based programming tool.
- hvega generates Vega-Lite specifications in Haskell and is based on Elm-Vega.
- Vega-Lite “bindings” for Rust, create vega-lite v3, or v4, vizualizations in Rust A high-level like Altair in under construction at procyon
- Vega.rb brings Vega and Vega-Lite to Ruby.
- Jekyll Diagrams A Jekyll plugin with support for Vega & Vega-Lite and others diagramming libraries.
- Liquid Diagrams A Liquid plugin with support for Vega & Vega-Lite and others diagramming libraries.
- Vega-Lite-Linter is a python package to help users detect and fix encoding issues.
- VegaLite is a library for Dyalog APL to build and render Vega-Lite specifications from your data.
- React Spectrum Charts are declarative visualization components from Adobe using Vega and Vega-Lite.
Programming / Data Science Environment that supports Vega-Lite
- JupyterLab, an extensible environment for interactive and reproducible computing, based on the Jupyter Notebook and Architecture.
- nteract, interactive notebook application with Vega and Vega-Lite renderer.
- Observable, an interactive JavaScript notebook. Embed example and exploration example.
- data.world, upload
.vg.json
and.vl.json
files along side your raw data, or embed Vega directly into comments and summary markdown. - nextjournal, scientific computing environment with support for data visualizations including Vega-Lite
- Liminoid, toolkit for building interactive analytics applications with Python and WebAssembly. Can pass Python data to JavaScript callbacks which render Vega/Vega-Lite specifications.
- Neptune.ai, machine learning experiment tracking tool with Vega-Lite and Altair visualizations.
- Livebook, Interactive and collaborative code notebooks with Vega-Lite visualizations.
Tools that use Vega-Lite
- Lyra, an interactive, graphical Visualization Design Environment (VDE)
- PdVega, lets you create interactive Vega-Lite plots for Pandas. Uses ipyvega.
- Turi Create Apple’s tool to simplify the development of custom machine learning models.
- mondrian-rest-ui, an experimental UI for
mondrian-rest
inspired by Polestar and CubesViewer. - Django Chartflo, charts for the lazy ones in Django
- Vega-Lite for PowerBI is an example of a PowerBI custom visual built with Vega-Lite.
- Sci-Hub stats browser provides coverage and usage statistics for Sci-Hub.
- github-repo-stats, a GitHub Action for advanced repository traffic analysis and reporting.
- Iris, a conversational agent for data science.
- dashcard: a simple Bootstrap-based UI for dynamic dashboarding using Vega-Lite and Mondrian via a REST API.
- histbook, a versatile, high-performance histogram toolkit for Numpy.
- Olmsted: a web application for biologists to explore and visualize the adapative immune system using deep sequenced B-cell receptor data. The app uses Vega’s interactive capabilities in the context of a React/Redux application to allow users to drill down into the data at multiple levels of granularity, and is currently being used by HIV researchers in the quest for a vaccine. Demo available here.
- Lens.org: Provides free search and analysis for millions of patents and scholarly works. Simplified interface for creating Vega-Lite data visualisations.
- DataVoyager.jl, a Julia package that exposes the Voyager (2) UI to the Julia programming language.
- ProfileVega.jl, a Julia profile visualization tool that uses Vega-Lite.
- Voyager clone, a basic Voyager clone with step-by-step tutorial made with Ellx.
- NL4DV, a Python toolkit that generates analytic specifications (attributes + tasks + Vega-Lite visualizations) from natural language (NL) queries, helping people prototype NL systems for data visualization.
- Saite Interactive exploratory graphics and ad hoc visualization application for Clojure(Script). Built on top of Hanami.
- Datablocks, a node-based editor for exploring, analyzing and transforming data without code.
- Rath An augmented analysis tool including auto-EDA, pattern discovery, multi-dimensional visualization recommendation, and interactive dashboards generation.
- MarkText: An open-source markdown editor that supports Vega-Lite.
- Scalene: A CPU+GPU+memory profiler for Python.
- CSrankings: a metrics-based ranking of top computer science institutions around the world.
- Kibana: a browser-based analytics and search dashboard for Elasticsearch that supports authoring and embedding Vega and Vega-Lite visualizations.
- PyGWalker A python library that turns your data into an interactive visual exploration app with one line of code.
- GWalkR An R library that turns your dataframe into an interactive visual exploration app in RStudio.
- graphic-walker, an open-source alternative to Tableau, is a versatile visualization tool for data exploration and no-code Vega-Lite editing, that can be easily embedded as a component in web apps.
Tools for Embedding Vega-Lite Visualizations
- Vega-Embed, a convenience wrapper for Vega and Vega-Lite.
- Flourish - Visualization and Storytelling Platform
- Visdown, a web app to create Vega-Lite visualizations in Markdown. Specs are written in YAML (not JSON) within
code
blocks. - vega-element is a Polymer web component to embed Vega or Vega-Lite visualization using custom HTML tags.
- marked-vega is a Polymer web component to parse image/code markdowns into Vega and Vega-Lite charts.
- gulp-marked-vega is a gulp plugin (comes with a cli tool also) to replace marked-vega markdown syntax with base64 embedded image tags, so that any standard markdown parser can render the Vega and Vega-Lite charts without modifying their render rules.
- idyll-vega-lite is a component that allows you to embed Vega-Lite graphics inside of Idyll markup, an interactive markup language.
- generator-veeg is a Vega and Vega-Lite boilerplate generator for Yeoman.
- Kroki is a service to render Vega and Vega-Lite as PNG, SVG, or PDF.
- vega_embed_flutter, a flutter-web widget to embed Vega-Lite specs into flutter-web apps.