# G2: The Grammar of Graphics in JavaScript [![](https://img.shields.io/travis/antvis/g2.svg)](https://travis-ci.org/antvis/g2) ![](https://img.shields.io/badge/language-javascript-red.svg) ![](https://img.shields.io/badge/license-MIT-000000.svg) [![NPM Package](https://img.shields.io/npm/v/@antv/g2.svg)](https://www.npmjs.com/package/@antv/g2) [![NPM Downloads](http://img.shields.io/npm/dm/@antv/g2.svg)](https://npmjs.org/package/@antv/g2) [![Percentage of issues still open](http://isitmaintained.com/badge/open/antvis/g2.svg)](http://isitmaintained.com/project/antvis/g2 "Percentage of issues still open") [中文 README](./README.zh-CN.md) G2 is a visualization grammar, a data-driven visual language with a high level of usability and scalability. It provides a set of grammars, takes users beyond a limited set of charts to an almost unlimited world of graphical forms. With G2, users can describe the visual appearance of a visualization just by one statement. **Special thanks to [Leland Wilkinson](https://en.wikipedia.org/wiki/Leland_Wilkinson), the author of [*The Grammar Of Graphics*](https://www.cs.uic.edu/~wilkinson/TheGrammarOfGraphics/GOG.html), whose book served as the foundation for G2.**

## Installation ```bash $ npm install @antv/g2 ``` ### Usage ```html
``` ```js import G2 from '@antv/g2'; const data = [ { genre: 'Sports', sold: 275 }, { genre: 'Strategy', sold: 1150 }, { genre: 'Action', sold: 120 }, { genre: 'Shooter', sold: 350 }, { genre: 'Other', sold: 150 }, ]; const chart = new G2.Chart({ container: 'c1', width: 500, height: 500 }); chart.source(data); chart.interval().position('genre*sold').color('genre'); chart.render(); ``` [More examples](https://antv.alipay.com/zh-cn/g2/3.x/demo/index.html) ## Development ```bash $ npm install # run test case $ npm run test-live # build watching file changes and run demos $ npm run dev # run demos $ npm run demos ``` ## How to Contribute Please let us know how can we help. Do check out [issues](https://github.com/antvis/g2/issues) for bug reports or suggestions first. To become a contributor, please follow our [contributing guide](https://github.com/antvis/g2/blob/master/CONTRIBUTING.md). ## Contributors |[
leungwensen](https://github.com/leungwensen)
|[
simaQ](https://github.com/simaQ)
|[
dxq613](https://github.com/dxq613)
|[
elaine1234](https://github.com/elaine1234)
|[
guisturdy](https://github.com/guisturdy)
|[
paleface001](https://github.com/paleface001)
| | :---: | :---: | :---: | :---: | :---: | :---: | |[
chenshuai2144](https://github.com/chenshuai2144)
|[
xile611](https://github.com/xile611)
|[
maplor](https://github.com/maplor)
|[
zhfanrui](https://github.com/zhfanrui)
|[
Frezc](https://github.com/Frezc)
|[
Leannechn](https://github.com/Leannechn)
| |[
janjakubnanista](https://github.com/janjakubnanista)
|[
ParryQiu](https://github.com/ParryQiu)
|[
Sai0514](https://github.com/Sai0514)
|[
liximomo](https://github.com/liximomo)
|[
wensen-lws](https://github.com/wensen-lws)
|[
xudafeng](https://github.com/xudafeng)
| |[
wangyu-kelly](https://github.com/wangyu-kelly)
|[
BlackGanglion](https://github.com/BlackGanglion)
|[
illumen](https://github.com/illumen)
|[
DanielRuf](https://github.com/DanielRuf)
|[
huacnlee](https://github.com/huacnlee)
|[
0nza1101](https://github.com/0nza1101)
| [
RaoHai](https://github.com/RaoHai)
|[
tbroadley](https://github.com/tbroadley)
|[
charleyw](https://github.com/charleyw)
|[
Hazyzh](https://github.com/Hazyzh)
|[
forbreak](https://github.com/forbreak)
|[
nekocode](https://github.com/nekocode)
This project follows the git-contributor [spec](https://github.com/xudafeng/git-contributor), auto updated at `Sat Jul 27 2019 14:06:08 GMT+0800`.