AntV - F2移动端图表库
F2 是面向移动端的一套基于可视化图形语法的图表库,具有精简、高性能、易扩展的特性。适用于对性能、大小、扩展性要求严苛的场景。
特性
-
极小:在提供了几十种图表的基础上,压缩后代码不足 70k,全部大小 100k
-
高性能:极致优化贴近原生 canvas 的性能
-
高扩展性:可以非常容易的实现个性化的图表
安装
浏览器引入
既可以通过将脚本下载到本地也可以直接引入在线资源:
<!-- 引入在线资源 --> <script src="https://gw.alipayobjects.com/as/g/datavis/assets/1.0.5/f2/3.0.0/f2.min.js"></script>
<!-- 引入本地脚本 --> <script src="./f2.js"></script>
通过 npm 安装
官方提供了 F2 npm 包,通过下面的命令即可完成安装
npm install @antv/f2 --save
成功安装完成之后,即可使用 import
或 require
进行引用。
const F2 = require('@antv/f2');
开始使用
在 F2 引入页面后,我们就已经做好了创建第一个图表的准备了。
下面是以一个基础的柱状图为例开始我们的第一个图表创建。
浏览器引入方式
1. 创建 canvas
标签
在页面上创建一个 canvas 并指定 id
:
<canvas id="c1"></canvas>
2. 编写图表绘制代码
创建 canvas
标签后,我们就可以进行简单的图表绘制:
-
创建 Chart 图表对象,指定图表 ID、指定图表的宽高、边距等信息;
-
载入图表数据源;
-
使用图形语法进行图表的绘制;
-
渲染图表。
// 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 }, ]; // Step 1: 创建 Chart 对象 const chart = new F2.Chart({ id: 'c1', // 指定图表容器 ID width: 500, // 指定图表宽度 height: 300 // 指定图表高度 }); // Step 2: 载入数据源 chart.source(data); // Step 3:创建图形语法,绘制柱状图,由 genre 和 sold 两个属性决定图形位置,genre 映射至 x 轴,sold 映射至 y 轴 chart.interval().position('genre*sold').color('genre'); // Step 4: 渲染图表 chart.render();
完成上述两步之后,保存文件并用浏览器打开,一张柱状图就绘制成功了:
评论