# antvis/G2

**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/antvis-g2).**

12,524 stars · 1,672 forks · TypeScript · mit

## Links

- GitHub: https://github.com/antvis/G2
- Homepage: https://g2.antv.antgroup.com
- awesome-repositories: https://awesome-repositories.com/repository/antvis-g2.md

## Topics

`animation` `canvas` `chart` `grammar` `graphics` `hacktoberfest` `interaction` `svg` `visualization` `webgl`

## Description

G2 is a declarative data visualization engine that constructs complex charts and graphical representations by mapping raw data to visual elements through a systematic grammar of graphics. It functions as a modular framework for building custom analytical visualizations, allowing users to define visual encodings and coordinate systems independently of the underlying data.

The library distinguishes itself through a multi-backend rendering pipeline that supports Canvas, SVG, and WebGL, ensuring consistent graphical performance across different environments. Its architecture relies on a plugin-based system that enables the integration of custom scales, geometric marks, and statistical transforms, providing the flexibility required for specialized analytical needs.

Beyond standard charting, the framework supports the construction of interactive dashboards and the visualization of multi-dimensional or hierarchical datasets. It includes built-in capabilities for generating advanced statistical representations, such as heatmaps, violin plots, and vector fields, while maintaining a declarative approach to component composition and data-driven state transitions.

## Tags

### Data & Databases

- [Visualization Engines](https://awesome-repositories.com/f/data-databases/data-analysis-visualization/visualization-frameworks-libraries/visualization-engines.md) — Provides a high-performance, multi-backend engine for rendering complex, interactive data visualizations across web environments.
- [Statistical Plotting Libraries](https://awesome-repositories.com/f/data-databases/data-analysis-visualization/visualization-frameworks-libraries/statistical-plotting-libraries.md) — Offers specialized statistical plotting capabilities for generating complex analytical visualizations like heatmaps, violin plots, and vector fields.

### Graphics & Multimedia

- [Declarative Visualization Grammars](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/declarative-visualization-grammars.md) — Translates raw data into visual properties using a formal grammar of graphics.
- [Backend-Agnostic Rendering Pipelines](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/engines/graphics-pipeline-architectures/backend-agnostic-rendering-pipelines.md) — Supports interchangeable Canvas, SVG, and WebGL rendering backends for consistent cross-platform performance.
- [Cross-Platform Graphics Tooling](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/graphics-apis-bindings/cross-platform-graphics-tooling.md) — Ensures consistent visual performance across web environments using flexible rendering backends.
- [Coordinate Systems](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/visualization-frameworks/coordinate-systems.md) — Separates spatial axis and projection logic from data to enable flexible visual layout transformations.
- [Hierarchical Layouts](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/layout-algorithms/hierarchical-layouts.md) — Organizes nested datasets into structural layouts like treemaps and sunbursts to show part-to-whole relationships. ([source](https://g2.antv.antgroup.com/examples))

### User Interface & Experience

- [Visualization Grammars](https://awesome-repositories.com/f/user-interface-experience/declarative-interaction-frameworks/visualization-grammars.md) — Implements a formal grammar of graphics to declaratively map raw data to visual channels and geometric primitives.
- [Interactive Dashboards](https://awesome-repositories.com/f/user-interface-experience/interactive-dashboards.md) — Combines multiple chart types and shared data sources to build interactive analytical dashboards. ([source](https://g2.antv.antgroup.com/examples))
- [Coordinate Systems](https://awesome-repositories.com/f/user-interface-experience/data-visualization-tools/data-visualization/visualization-configuration-utilities/coordinate-systems.md) — Aligns multiple axes and coordinate systems to visualize complex multi-dimensional data relationships. ([source](https://g2.antv.antgroup.com/examples))
- [Interaction Animations](https://awesome-repositories.com/f/user-interface-experience/interaction-animations.md) — Defines data-driven transitions and interactive behaviors for responsive visual experiences. ([source](https://cdn.jsdelivr.net/gh/antvis/G2@v5/README.md))
- [State Reconciliation Engines](https://awesome-repositories.com/f/user-interface-experience/state-reconciliation-engines.md) — Automatically synchronizes visual interface components with underlying data state changes.

### Software Engineering & Architecture

- [Plugin-Based Architectures](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/plugin-module-systems/modular-plugin-architectures/plugin-based-architectures/plugin-based-architectures.md) — Provides a modular interface for injecting custom scales, marks, and statistical transforms.
- [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 extending visualization capabilities through custom scales, transforms, and third-party plugins. ([source](https://cdn.jsdelivr.net/gh/antvis/G2@v5/README.md))

### Web Development

- [Declarative UI Composition](https://awesome-repositories.com/f/web-development/declarative-ui-composition.md) — Builds complex visualizations by composing independent modules like scales and marks into a unified hierarchy.

### Content Management & Publishing

- [Rendering and Visualization](https://awesome-repositories.com/f/content-management-publishing/content-processing-transformation/document-processing-conversion/document-processing/rendering-visualization.md) — Ensures consistent graphical performance across browsers by supporting multiple rendering backends. ([source](https://cdn.jsdelivr.net/gh/antvis/G2@v5/README.md))

### Programming Languages & Runtimes

- [Hierarchical Tree Visualizers](https://awesome-repositories.com/f/programming-languages-runtimes/programming-utilities/data-structure-type-helpers/data-structures/hierarchical-tree-structures/hierarchical-tree-visualizers.md) — Communicates part-to-whole relationships in hierarchical information using specialized structural layouts.
