装载数据
如何装载数据
chart 对象支持两种数据载入的方式:
- 方式 1:data 属性传入
- const chart = new G2.Chart({
- id: 'c1',
- width: 600,
- height: 300,
- data: [
- { x: 'a', y: 1 },
- { x: 'b', y: 2 },
- ...
- ]
- });
- 方式 2:调用 chart.source(data) 方法,每个字段的列定义也可以在这里传入
- chart.source(data, {
- x: {
- type: 'cat'
- },
- y: {
- min: 0
- }
- })
支持的数据格式
G2 支持两种格式的数据源:
- JSON 数组
- DataView 对象
JSON 数组
G2 接收的数据格式非常简单:标准的 JSON 数组,其中每个数组元素是一个标准的 JSON 对象:
Example:
- const data = [
- { gender: '男', count: 40 },
- { gender: '女', count: 30 }
- ];
- chart.source(data);
DataView 对象
详见 DataSet 教程。
更新数据
G2 更新数据的方式主要有三种:
- 仅仅是更新图表的数据
- 清理所有,重新绘制
- 使用 DataView 时的更新
更新数据
如果需要马上更新图表,使用 chart.changeData(data)
即可
- chart.changeData(newData);
- view 也支持 view.changeData(data)
如果仅仅是更新数据,而不需要马上更新图表,可以调用chart.source(data)
,需要更新图表时调用chart.repaint()
- chart.source(newData);
- chart.guide().clear();// 清理guide
- chart.repaint();
清理图形语法
更新数据时还可以清除图表上的所有元素,重新定义图形语法,重新绘制
- chart.line().position('x*y');
- chart.render();
- chart.clear(); // 清理所有
- chart.souce(newData); // 重新加载数据
- chart.interval().position('x*y').color('z');
- chart.render();
使用 DataView 更新
由于 DataSet
支持状态量 state
,一旦更改状态量,图表即一起刷新,详情查看 DataSet 教程。
原文: https://antv.alipay.com/zh-cn/g2/3.x/tutorial/load-data.html