 [](https://travis-ci.org/antvis/f2)   [](https://www.npmjs.com/package/@antv/f2) [](https://npmjs.org/package/@antv/f2) [](http://isitmaintained.com/project/antvis/f2 'Percentage of issues still open') [](https://deepwiki.com/antvis/F2)
[中文 README](./README.md) F2 is **born for mobile**, developed for developers as well as designers. It is Html5 Canvas-based, and is also compatible with Node.js, Weex and React Native. Based on [the grammar of graphics](https://www.cs.uic.edu/~wilkinson/TheGrammarOfGraphics/GOG.html), F2 provides all the chart types you'll need. Our mobile design guidelines enable better user experience in mobile visualzation projects. > 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 F2 and G2. ## Installation ```bash $ npm install @antv/f2 ``` ## Features ### Born for mobile - **Design for mobile**: make data more alive and chart interactions more natural.





## Links
- [Website](https://f2.antv.vision/)
- English documents: https://f2.antv.vision/en
- Chart demos: https://f2.antv.vision/en/examples
- 中文文档: https://f2.antv.vision/zh
## Other libraries base on F2
- [ant-design-mobile-chart](https://github.com/ant-design/ant-design-mobile-chart): Ant Design Mobile Chart based on F2. (React).
- [BizGoblin](https://github.com/alibaba/BizGoblin):Data visualization library based F2 and React.
- [VChart](https://doc.vux.li/zh-CN/components/v-chart.html): Mobile Chart Components based on vux and F2. (Vue).
- [weex-chart](https://github.com/weex-plugins/weex-chart): Chart components based on Weex and F2.
## Demos
[Chart Demos](https://f2.antv.vision/en/examples)
**Or just scan the below qrcode to see demos in mobile:**
## Getting Started
```html
```
```js
// F2 对数据源格式的要求,仅仅是 JSON 数组,数组的每个元素是一个标准 JSON 对象。
const data = [
{ genre: 'Sports', sold: 275 },
{ genre: 'Strategy', sold: 115 },
{ genre: 'Action', sold: 120 },
{ genre: 'Shooter', sold: 350 },
{ genre: 'Other', sold: 150 },
];
// 获取 canvas context
const context = document.getElementById('mountNode').getContext('2d');
const { props } = (
);
const canvas = new Canvas(props);
canvas.render();
```
## Development
```bash
$ npm install
# setup
$ npm run bootstrap
# run test case
$ npm run test-watch
```
## How to Contribute
Please let us know how can we help. Do check out [issues](https://github.com/antvis/f2/issues) for bug reports or suggestions first.
To become a contributor, please follow our [contributing guide](https://github.com/antvis/f2/blob/master/CONTRIBUTING.md).
## Experience Improvement Program Description
Since version 3.1.12 (released on 2018-06-20), we add `F2.track(true)` method for our user experience improvement program. But now the program has finish, so we remove the method from F2 since version 3.3.4. We are very sorry if it has caused trouble for you.
## License
[MIT license](./LICENSE).