# vega/vega

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/vega-vega).**

11,807 stars · 1,560 forks · JavaScript · bsd-3-clause

## Links

- GitHub: https://github.com/vega/vega
- Homepage: https://vega.github.io/vega
- awesome-repositories: https://awesome-repositories.com/repository/vega-vega.md

## Topics

`canvas` `d3` `svg` `vega` `visualization` `visualization-grammar`

## Description

Vega is a reactive visualization engine that translates structured specifications into interactive, browser-based graphical representations. It functions as a declarative grammar for data visualization, allowing users to define complex charts and maps through a JSON-based configuration format rather than imperative code.

The system operates on a dataflow-based reactive graph that automatically propagates updates through the visualization whenever input data or user interactions change. By integrating a modular transformation pipeline, the engine handles data filtering, sorting, and aggregation directly within the specification, ensuring that raw information is processed and mapped to visual marks, axes, and legends in a unified workflow.

Beyond standard charting, the platform supports custom visualization engineering by allowing the registration of unique projections, scales, and transformation logic. It also includes built-in support for international data formatting, enabling the application of region-specific rules for numbers and dates to maintain readability across global datasets.

## Tags

### Data & Databases

- [Visualization Engines](https://awesome-repositories.com/f/data-databases/data-analysis-visualization/visualization-frameworks-libraries/visualization-engines.md) — A reactive processing framework that converts data specifications into graphical representations that update automatically.
- [Declarative Visualization Languages](https://awesome-repositories.com/f/data-databases/data-analysis-visualization/visualization-frameworks-libraries/declarative-visualization-languages.md) — Builds custom charts and maps using a structured data format that maps raw values to visual marks, axes, and legends. ([source](https://vega.github.io/vega/docs/))
- [Data Visualization](https://awesome-repositories.com/f/data-databases/data-analysis-visualization/visualization-frameworks-libraries/data-visualization.md) — Converts structured data formats into reactive processing graphs that manage data flow and rendering logic. ([source](https://vega.github.io/vega/docs/))
- [Dataset Transformations](https://awesome-repositories.com/f/data-databases/dataset-transformations.md) — Filters, sorts, and aggregates datasets directly within the visualization specification before rendering. ([source](https://vega.github.io/vega/docs/))

### Graphics & Multimedia

- [Declarative Visualization Grammars](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/declarative-visualization-grammars.md) — A system for building interactive, web-based data visualizations using a structured JSON format defining transformations and mappings.
- [Declarative Scene Graphs](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/scene-management-systems/declarative-scene-graphs.md) — Maintains an internal tree of graphical objects painted onto a bitmap surface during each render cycle.

### User Interface & Experience

- [Charting Libraries](https://awesome-repositories.com/f/user-interface-experience/data-visualization-tools/data-visualization/charting-frameworks/charting-libraries.md) — Provides a declarative grammar for building complex, interactive, and reactive data visualizations directly in the browser.
- [Data View Renderers](https://awesome-repositories.com/f/user-interface-experience/data-view-customizers/data-view-renderers.md) — Generates dynamic, browser-based graphics from dataflow descriptions that respond to user input and data updates. ([source](https://vega.github.io/vega/docs/))
- [Interactive Graphics](https://awesome-repositories.com/f/user-interface-experience/interactive-graphics.md) — Generates dynamic browser-based visualizations that respond automatically to user input and data updates.
- [Event-Driven State Managers](https://awesome-repositories.com/f/user-interface-experience/event-driven-state-managers.md) — Maintains a centralized registry of dynamic variables that trigger re-evaluation of dependent visual properties.
- [Declarative Schemas](https://awesome-repositories.com/f/user-interface-experience/schema-rendering/declarative-schemas.md) — Uses a structured JSON configuration format to define visual mappings and data transformations without imperative code.
- [Event-Driven Interaction Handlers](https://awesome-repositories.com/f/user-interface-experience/form-and-input-management/interaction-and-event-handling/general-interaction-frameworks/interaction-models/event-driven-interaction-handlers.md) — Maps raw input events to specific signal updates using a declarative syntax for interactive behaviors.
- [UI Interactivity](https://awesome-repositories.com/f/user-interface-experience/form-and-input-management/interaction-and-event-handling/ui-interactivity.md) — Creates event streams and signals to update visual properties or data values in response to user input. ([source](https://vega.github.io/vega/docs/))

### Software Engineering & Architecture

- [Graph-Based Processing Engines](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/graph-based-processing-engines.md) — Processes data through a directed acyclic graph where updates propagate automatically to downstream nodes.
- [Data Transformation Pipelines](https://awesome-repositories.com/f/software-engineering-architecture/data-transformation-pipelines.md) — Executes a sequence of data processing operations like filtering and aggregation directly within the visualization specification.
- [Visualization Extenders](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/plugin-architectures/developer-authoring-interfaces/custom-module-implementations/module-functionality-extenders/visualization-extenders.md) — Allows registration of custom projections, scales, and transformation logic to expand visualization capabilities. ([source](https://vega.github.io/vega/docs/))

### Part of an Awesome List

- [Data Visualization](https://awesome-repositories.com/f/awesome-lists/data/data-visualization.md) — Grammar for creating data visualizations.
- [Chart Libraries](https://awesome-repositories.com/f/awesome-lists/devtools/chart-libraries.md) — Declarative visualization grammar for complex graphics.
