G2

📊 A concise and progressive visualization grammar.
Alternatives To G2
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Algorithm Visualizer44,570
19 hours ago61mitJavaScript
:fireworks:Interactive Online Platform that Visualizes Algorithms from Code
Motion Canvas13,768104 days ago25July 23, 202378mitTypeScript
Visualize Your Ideas With Code
G211,7465302924 days ago326August 02, 2023109mitTypeScript
📊 A concise and progressive visualization grammar.
Horizon2,176
a year ago17Java
Horizon - Simple visual equaliser for Android
Zeu1,67615 years ago10November 08, 2018mitJavaScript
A JavaScript library for real-time visualization
Rxviz1,535
9 months ago30mitJavaScript
Rx Visualizer - Animated playground for Rx Observables
Itermplot1,292542 years ago20July 08, 202116Python
An awesome iTerm2 backend for Matplotlib, so you can plot directly in your terminal.
Algorithmvisualizer Android1,065
4 years ago11Java
Visualize algorithms and data structures using animations
Resonance1,018455 years ago31February 17, 2019mitJavaScript
:black_medium_small_square:Resonance | 5kb React animation library
Anichart.js951312 days ago150September 20, 20231mitTypeScript
Easily create data visualization animation videos
Alternatives To G2
Select To Compare


Alternative Project Comparisons
Readme

English | 简体中文

G2

一套面向常规统计图表,以数据驱动的高交互可视化图形语法。

CI Coverage Status NPM Package NPM Downloads Dependencies Percentage of issues still open PRs Welcome

网站教程文档博客G2Plot

G2 是一套基于图形语法理论的可视化底层引擎,以数据驱动,提供图形语法与交互语法,具有高度的易用性和扩展性。使用 G2,你可以无需关注图表各种繁琐的实现细节,一条语句即可使用 Canvas 或 SVG 构建出各种各样的可交互的统计图表。

📺 线上示例

✨ 特性

  • 💯 完善的图形语法:数据到图形的映射,能够绘制出所有的图表。
  • 🤩 全新的交互语法:通过触发和反馈机制可以组合出各种交互行为,对数据进行探索。
  • 🦍 强大的 View 模块:可支持开发个性化的数据多维分析图形。
  • 👬 双引擎渲染:Canvas 或 SVG 任意切换。
  • 💄 可视化组件体系:面向交互、体验优雅。
  • 🛡 全面拥抱 TypeScript:提供完整的类型定义文件。

📦 安装

$ npm install @antv/g2

🔨 快速上手

在绘图前我们需要为 G2 准备一个 DOM 容器:

<div id="c1"></div>
import { Chart } from '@antv/g2';

const data = [
  { genre: 'Sports', sold: 275 },
  { genre: 'Strategy', sold: 115 },
  { genre: 'Action', sold: 120 },
  { genre: 'Shooter', sold: 350 },
  { genre: 'Other', sold: 150 },
];

// Step 1: 创建 Chart 对象
const chart = new Chart({
  container: 'c1', // 指定图表容器 ID
  width: 600, // 指定图表宽度
  height: 300, // 指定图表高度
});

// Step 2: 载入数据源
chart.data(data);

// Step 3: 创建图形语法,绘制柱状图
chart.interval().position('genre*sold');

// Step 4: 渲染图表
chart.render();

⌨️ 本地开发

# 安装依赖
$ npm install

# 运行测试用例
$ npm run test

# 打开 electron 运行测试用例,监听文件变化构建
$ npm run test-live

# 运行 CI
$ npm run ci

# 运行网站
$ npm start

🏷️ 版本

你也可以在业务中使用基于 G2 封装的常规统计图表 G2Plot,可以使用配置的方式快速生成一个通用图表,降低开发者的使用成本。

🤝 如何贡献

如果您在使用的过程中碰到问题,可以先通过 issues 看看有没有类似的 bug 或者建议。

如需提交代码,请遵从我们的贡献指南

Let's fund issues in this repository

联系我们

钉钉群组号码: 30233731 / 35686967 (2 群) / 44788198 (3 群)

Popular Visualization Projects
Popular Animation Projects
Popular User Interface Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Typescript
Animation
Visualization
Chart
Canvas
Graphics
Webgl
Grammar