ECharts十万级+数据渲染性能优化方案本篇文章将从实践出发,深入探讨ECharts渲染十万级数据的性能优化方

如上图所示的效果反应,用户体验效果非常不好,网络请求10秒以上,图表渲染至少要5秒以上,渲染成功后用户操作卡顿、延迟还特别严重。

但是这并不能说明ECharts图表渲染性能不好,而是有些时候ECharts有提供的方案,但是我们并没有按照官方策略去执行,去优化。图中面对的数据量才是十万级,相比较而言,在目前大数据的时代,百万级、千万级的数据量也会经常出现在我们的日常项目开发中,那么试想一下,如果还是以上这种方式渲染,我相信只有崩溃一条路可以走。

因此,在ECharts图表渲染这种场景下,面对庞大的数据量时,我们应该如何进行优化?提升用户体验呢?接下来我们就聊一下在实际项目中ECharts渲染海量数据的几个优化方案。

随着数据量的增加,直接一次性加载所有数据可能导致页面性能下降和用户体验变差,因此考虑将数据分段加载也是一种常见的性能优化方案。

dataZoom组件提供了几个属性,利用这几个属性可以控制图表渲染时的性能问题,如下所示:

具体方案是使用start和end控制ECharts图表初次渲染时滑块所处的位置以及数据窗口范围,使用minSpan和maxSpan用于限制窗口大小的最小值和最大值,最终限制的图表的可视区域显示范围,如下代码所示:

varoption={dataZoom:[{type:"slider",xAxisIndex:[0],start:0,end:1,minSpan:0,maxSpan:10,},],};以上代码表示ECharts图表初始化时,数据窗口从x轴0~1%范围内显示,最大的窗口显示范围为10%

最终实现效果图如下图所示:

以上的这种方案,优缺点很明显,如下几点总结:

可以很好的解决ECharts首次进行大数据量渲染造成的卡顿体验问题,不需要额外的数据处理,只需要通过简单的配置dataZoom缩放组件就可以实现

ECharts还提供了另一种提高渲染性能的方式,那就是降采样策略series-line.sampling,通过配置sampling采样参数可以告诉ECharts按照哪一种采样策略,可以有效的优化图表的绘制效率。

折线图在数据量远大于像素点时候的降采样策略,开启后可以有效的优化图表的绘制效率,默认关闭,也就是全部绘制不过滤数据点。

sampling属性提供了几个可选值,配置不同的值可以有效的优化图表的绘制效率,如下所示:

sampling的可选值有以下几个:

具体方案是配置series的sampling,最终表示使用的是ECharts的哪一种采样策略,ECharts内部机制实现优化策略:

varoption={series:{type:"line",sampling:"lttb",//最大程度保证采样后线条的趋势,形状和极值。},};以上代码表示使用'lttb'降采样策略,实现降低性能消耗的效果。

通过配置series的sampling为lttb模式,对比之前的曲线,可以最大程度保证采样后线条的趋势,形状和极值,如下图所示:

对比之前的效果,可以说是体验效果有质的飞跃,最终实现效果图如下图所示:

说明:本项目只使用了lttb和minmax这两种采样策略,相对比来说lttb有更流程的性能体验,但是测试中发现在一些情况下,极值出现偏差,也就是最大值最小值显示失误,但是使用minmax正常,原因未排查,如下图所示:

其他的降采样策略并不适合本项目,因此没有进行详细测试,感兴趣的同学可以按需进行研究!

在实际应用中,通过数据分段渲染和官方降采样的实现方案,可以看到在优化渲染海量数据时,它们是有效的策略之一。除了以上介绍的方式外,其实还可以结合数据聚合处理、延迟渲染、硬件加速、WebWorker等多种优化手段,综合运用以实现更高效的海量数据可视化展示。

渲染十万级+的数据量是一个挑战性的任务,但通过合理的优化方案和技巧,可以提升页面性能,改善用户体验,实现数据可视化的更好展示效果。

THE END
1.数据处理的主要步骤是什么?数据处理通常包括以下几个主要步骤: 数据收集 这是数据处理的第一步,涉及到从各种来源收集原始数据。这些来源可能包括数据库、文件、图像、声音、视频等。 数据预处理 这一步通常包括数据清洗和数据转换。数据清洗是指检查数据中的错误、重复或不完整的部分,并进行修正或删除。数据转换是将数据从一种格式转换为另一种https://cloud.tencent.com/developer/techpedia/2280/17195
2.?数据处理的六大步骤?数据处理是什么?简单来说,就是将原始数据转化为有价值的信息。这通常包括六个关键步骤:1 数据清洗:去除数据中的噪音和异常值,确保数据的准确性和可靠性。2 数据集成:将来自不同来源的数据合并,形成一个统一的数据集。3 数据分析:运用各种统计方法和算法,深入挖掘数据的内在规律和关系。https://mbd.baidu.com/newspage/data/dtlandingsuper?nid=dt_3641058908124792352
3.数据处理中的准确性问题2. 数据处理五个步骤 对于大部分数据应用来说,数据处理都可以划分为如下五个步骤: 在这五个步骤中的每一步,都会面临数据准确性的问题,并且神策分析也相应地进行了针对性的处理和应对,下面结合我们之前的一些实际的应对案例,进行详细介绍。 2.1 采集环节的准确性问题与应对 https://www.sensorsdata.cn/blog/data_accuracy/
4.手把手教您如何进行数据质量管理提高数据质量意味着拥有可持续成功且适合数据使用的数据质量管理实践,同时不断发展以跟上或领先于不断变化的业务和数据环境。这不是一次修复一个数据集的问题,这是资源和时间密集型的,而是确定数据质量始终偏离轨道的地方,并创建一个程序来改进源头的数据处理。 https://36kr.com/p/2346113073061509
5.10分钟搭建你的第一个图像识别模型(附步骤代码)机器之心最后,我们加载测试数据(图像)并完成预处理步骤。然后我们使用训练模型预测这些图像的类别。 所需时间:1分钟 四、设置问题定义并认识数据 我们将尝试一个非常酷的挑战来理解图像分类。我们需要建立一个模型,可以对给定的图像进行分类(衬衫、裤子、鞋子、袜子等)。这实际上是许多电子商务零售商面临的一个问题,这使得它https://www.jiqizhixin.com/articles/2019-02-20-9
6.数据分析流程包括哪些步骤数据分析流程包括以下步骤: 一、问题定义; 二、数据采集; 三、数据探索和可视化; 四、数据预处理和特征工程; 五、建立模型和算法选择; 六、模型评估和优化; 七、模型应用和结果解释。数据分析是一个迭代的过程,需要不断调整和优化,才能提高分析结果的质量。 https://www.linkflowtech.com/news/1597
7.EtherCAT抓包分析及故障排除示例EtherCAT技术知识五、对于整个从站网络运行状态的辨别和分析 EC-Inspector具备全网络拓扑的图形化视图,我们可以从端口颜色反映连接质量:灰色=好/黄色=警告/红色=错误。右侧是整个EtherCAT网络的数据的记录和统计,所有从站的错误计数器和端口信息都在这里展示。 六、快照留存和数据处理步骤 https://www.motrotech.com/article/371.html
8.2024年策略人必备的124个营销模型(14.0最新版)93、罗兰贝格解决问题七大步骤 94、战略树 95、平衡计分卡 96、风险报酬图 97、产品/市场演变矩阵 98、5why分析法 99、战略钟模型 100、BLM模型/业务领先模型 101、熊彼特“五个创新” 102、项目管理五大过程组 103、项目管理十大知识领域 104、面试PRES模型 https://www.digitaling.com/articles/1225412.html
9.初一数学上册知识点15.科学记数法:把一个大于10的数记成a×10n的形式,其中a是整数数位只有一位的数,这种记数法叫科学记数法. 16.近似数的精确位:一个近似数,四舍五入到那一位,就说这个近似数的精确到那一位. 17.有效数字:从左边第一个不为零的数字起,到精确的位数止,所有数字,都叫这个近似数的有效数字. https://www.oh100.com/shuxue/4915112.html
10.《仪器分析》实验教学大纲3.测量未知样品中苯酚含量:用移液管分别移取含酚水样10ml于2个25ml容量瓶中,分别用水和0.1MKOH稀释至刻度。在测定波长下,把碱性溶液稀释的待测试样放在样品光路上,把中性溶液稀释的待测试样放在参比光路上,测定吸光度差值。 五、数据处理 1.用实验步骤2中测得的吸光度差值,绘制吸光度—浓度曲线,计算回归方程。https://hxsyjxzx.snsy.edu.cn/info/1033/1161.htm
11.济南市邵而小学应急预案五、事故报告和现场保护 (一)重大事故(包括外来暴力侵害事故)发生后,学校应立即将事故情况上报教育主管部门,并呈送书面报告,事故报告包括:发生事故的学校及事故发生的时间、地点;事故的简要经过、伤亡人数、直接经济损失的初步估计;事故原因、性质的初步判断;事故抢救处理的情况和http://www.shizhong.gov.cn/gongkai/site_shizhongquqjyhtyjdjnssexxabz/channel_jns_shizhongquqjyhtyjdjnssexxabz_22d/doc_64ae55d240a1bf20332d450d.html
12.高中物理测定电池的电动势和内阻优秀教案(五)发导学案、布置预习。 九、板书设计 一、实验原理: 二、实验步骤: 三、数据处理: 计算: 图像: 四、误差分析: 十、教学反思:本节课重在数据处理、误差分析。 学校:临清三中 学科:物理 编写人:孙风武 审稿人:盛淑贞 多用电表学案 课前预习学案 https://www.unjs.com/jiaoan/wuli/20181122163420_1771133.html
13.PMP项目管理第五章:项目范围管理分解的五个步骤: 识别和分析可交付成果及相关工作 确定WBS 的结构和编排方法 自上而下逐层细化分解 为WBS 组件指定和分配标识编码 核实可交付成果分解的程度是否恰当 WBS 的结构可以采用如下形式: 把项目生命周期的各阶段作为分解的第二层,产品和项目可交付成果放在第三层。 https://maimai.cn/article/detail?fid=1707810195&efid=kQgJnuPQSwW7IukMeNbcwA
14.关于做好全国党员管理信息系统运行维护和培训工作的通知(五)多步骤处理 1.党组织合并。当出现党组织合并时,应视情况进行操作。例如: (1)A和B两个党组织,需要将B党组织合并到A党组织,应先将B党组织下的所有党组织和党员,使用改变党组织隶属关系或党员组织关系转接等操作,全部转到A党组织,然后再删除B党组织。 https://www.zjjsxy.org.cn/dangweigongzuo/2335.html
15.谈谈数据项目中的Datamapping(数据映射)数据映射是从一个或多个源文件中提取数据字段,并将它们与目标文件中相关的目标字段进行匹配的过程。数据映射还通过提取、转换和将数据加载到目标系统来帮助强化数据质量。任何数据处理(包括ETL)的初始步骤都是数据映射。企业可以使用映射数据产生相关的见解,以提高业务效率。 https://developer.aliyun.com/article/1116168
16.大学化学实验报告(精选10篇)五、实验结果处理: c(待)=c(标)×V(标)/V(待)注意取几次平均值。 六、实验评价与改进: [根据:c(H+)×V(酸)=c(OH—)×V(碱)分析] 大学化学实验报告 2 一、实验目的: 1、培养同学们“通过实验手段用已知测未知”的实验思想。 2、学习相关仪器的使用方法,掌握酸碱滴定的原理及操作步骤、 https://www.ruiwen.com/gongwen/baogao/932632.html
17.NLPPPL计算nlp基本算法mob64ca14150f43的技术博客1.2、文本处理步骤 1.2.1、分割(Tokenization:文本—>单词/字母) 分割就是将一句话分解成一个个单词或者一个个字母,为了方便讲解我们以分割成单词讲述。 1.2.2、one-hot编码 此时是使用字典统计一下各个单词在整个文本中所出现过的次数,使用key记录文字,使用value记录单词出现的次数。 https://blog.51cto.com/u_16213703/7220643
18.学习笔记GB5749生活饮用水微生物指标——菌落总数解读③ 按同法依次稀释成1:1000、1:10000等稀释度的液体备用。每稀释一个稀释度,应更换一次1mL无菌吸管或吸头。 ④ 用无菌吸管或移液器吸取2个~3个适宜稀释度的水样1mL,分别注入无菌平皿内。以下操作同生活饮用水的检验步骤。 4. 实验数据处理 结果报告:可用眼睛直接观察,必要时用放大镜检查,以防遗漏。 https://www.huankai.com/show/53609.html
19.数据预处理的四个步骤数据预处理的流程数据预处理的四个步骤 数据预处理的四个步骤分别是数据清洗、数据集成、数据变换和数据归约;而数据的预处理是指对所收集数据进行分类或分组前所做的审核、筛选、排序等必要的处理;数据预处理,一方面是为了提高数据的质量,另一方面也是为了适应所做数据分析的软件或者方法。https://blog.csdn.net/qq_53724742/article/details/127485400