Echarts官方提供分片加载数据和增量渲染的方法appendData,但是目前的资料比较少。现结合Echarts官方和面向CSDN编程的方法,整理解决方案如下:
echartsInstance. appendData
(opts: {
// 要增加数据的系列序号。
seriesIndex?: string,
// 增加的数据。
data?: Array|TypedArray
}) => string
此接口用于,在大数据量(百万以上)的渲染场景,分片加载数据和增量渲染。在大数据量的场景下(例如地理数的打点),就算数据使用二进制格式,也会有几十或上百兆,在互联网环境下,往往需要分片加载。appendData接口提供了分片加载后增量渲染的能力,渲染新加入的数据块时不会清除原有已经渲染的部分。 注意: 现在不支持 系列(series) 使用dataset 同时使用 appendData,只支持系列使用自己的 series.data 时使用 appendData。 目前并非所有的图表都支持分片加载时的增量渲染。目前支持的图有:ECharts 基础版本的 散点图(scatter) 和线图(lines)。ECharts GL 的 散点图(scatterGL)、线图(linesGL) 和可视化建筑群(polygons3D)。
对"在大数据量(百万以上)的渲染场景,分片加载数据和增量渲染
"的理解: 这个是Echarts对外宣传的非常具有诱惑力的口号,也是当初我下定决心学习Echarts的理由之一。但是在实际开发中,该场景的实现需要多种条件的配合才可以的:
- 大数据量的文件生成时间;
- API接口大数据量的读取时间;
- ajax获取数据后,数据格式的处理时间;
- DOM的渲染时间;
- 在纯实验模式下,如果无需额外加载UI界面、其他图表的渲染等;
Echarts折线图,appendData异步加载大数据量时,分片加载数据和增量渲染的解决方案
测试环境- 本地json,28006条数据
- ajax异步加载
success: function (res) {
var exData = res.data;
//console.log(exData);
var lineData = [], LineName = [];
if (exData.length > 0) {
for (var i = 0; i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?