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.