AntV - F2 - 移动端图表库


MIT
跨平台
JavaScript

软件简介

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

成功安装完成之后,即可使用 importrequire 进行引用。

const F2 = require('@antv/f2');

开始使用

在 F2 引入页面后,我们就已经做好了创建第一个图表的准备了。

下面是以一个基础的柱状图为例开始我们的第一个图表创建。

浏览器引入方式

1. 创建 canvas 标签

在页面上创建一个 canvas 并指定 id

<canvas id="c1"></canvas>

2. 编写图表绘制代码

创建 canvas 标签后,我们就可以进行简单的图表绘制:

  1. 创建 Chart 图表对象,指定图表 ID、指定图表的宽高、边距等信息;

  2. 载入图表数据源;

  3. 使用图形语法进行图表的绘制;

  4. 渲染图表。

    // 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();

完成上述两步之后,保存文件并用浏览器打开,一张柱状图就绘制成功了: