Echarts高级进阶教程:图表渲染大数据量导致卡顿加载时间慢等问题的解决方案

简介: Echarts高级进阶教程:图表渲染大数据量导致卡顿加载时间慢等问题的解决方案

数据可视化从流程上来说,从数据采集→数据清洗→数据储存→数据读取→数据展示→数据筛选(分析)→数据报表,7个过程是一个比较完整的过程。每个过程都可能使用不同的技术和不同的工具,但是对于受众来说,这些都是计算机在处理的事情,只需要关心结果即可。

而对于数据可视化的开发人员来说,要出一个完美的结果,要有一个满意的展示速度,要有一个赏心悦目的UI界面…本次讨论,如何优化大数据量下的数据可视化展示技术和手段(基于echarts和php)。


项目需求

定义何为大量数据

在近期的Echarts数据可视化大屏的开发中,遇见了大量数据加载的情况。首先,定义何为大量数据?本文的大量数据是指10000+条数据或者10M+文件容积大小的数据。对于日常的Echarts渲染图表,无非是对接api接口→ajax获取数据→Echarts渲染图表,这样的流程。但是这么简单地过程中,遇见大量数据加载时,问题就变得复杂起来了。


产生的现象

首次加载时间过慢,友好性和体验性极差;

筛选条件,如默认1个小时,筛选24小时以上的数据时,加载数据过慢;

折线图拖动时,dataZoom组件使用时的卡顿;

浏览器大小变化时,windows监听myChart.resize()导致的重新加载,卡顿;

总之,在大数据量的数据可视化,原本一切都很美好的事情,都变得“拖拖拉拉”了。如何解决呢?


问题分析

加载时间慢,卡顿等现象表明的原因都是由于数据量大导致的,因此大数据量加载时,需要进行层次分析,只有逐层分析,才能对症下药。

解决思路

  1. 硬件环境:客观条件是解决问题的最佳方案,但不在本解决方案的讨论范围。毕竟,改变客观条件,不是每个人都能做到的。
  2. 软件环境:web服务器的配置,如gzip;
  3. 开发语言:流加载/分页懒加载方式;post/get请求方式;
  4. Echarts自身加载大量属性的使用和掌握;
  5. API接口的读取速度:mySql读取/Redis缓存读取;
  6. ajax获取数据和处理数据的方法;

测试环境

1689920838814.png


Echarts高级进阶教程(测试教程非结论,仅供参考)


Echarts高级进阶教程(1):异步加载大量数据导致dataZoom组件拖动缩放时间轴卡顿的sampling降采样策略解决方案

Echarts高级进阶教程(2):appendData异步加载大数据量分片加载数据和增量渲染的解决方案

Echarts高级进阶教程(3):appendData大数据量分片加载数据增量渲染和常规思路异步加载数据的对比,对折线图是无效的


updating…

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
3天前
|
分布式计算 资源调度 大数据
MaxCompute操作报错合集之在MaxCompute中加载自定义函数SURPATH_UPPER时出现了问题,如何解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
3天前
|
数据可视化 JavaScript 前端开发
Echarts是一个开源的JavaScript可视化库,用于创建各种类型的图表
Echarts是JavaScript的开源可视化库,Python通过Pyecharts库可调用它来绘制图表。示例展示了如何用Pyecharts创建柱状图:定义图表对象,设置标题和坐标轴,添加X轴、Y轴数据,最后渲染展示。Pyecharts还支持折线图、散点图、饼图等多种图表类型,更多详情可查阅官方文档。
14 0
|
6天前
|
前端开发 JavaScript 定位技术
Docusaurus框架——react+antd+echarts自定义mdx生成图表代码解释文档
Docusaurus框架——react+antd+echarts自定义mdx生成图表代码解释文档
22 0
|
7天前
|
存储
vue2、vue3分别配置echarts多图表的同步缩放(二)
vue2、vue3分别配置echarts多图表的同步缩放
10 0
|
7天前
|
API
vue2、vue3分别配置echarts多图表的同步缩放(一)
vue2、vue3分别配置echarts多图表的同步缩放
11 0
|
13天前
|
容器
echarts图表怎样实现刷新功能?
echarts图表怎样实现刷新功能?
|
16天前
|
JavaScript
如何在vue添加echarts图表
如何在vue添加echarts图表
9 0
|
20天前
|
SQL JavaScript 分布式数据库
使用Vue+ ECharts进行动态图表展示
Vue是一个用于构建用户界面的渐进式JavaScript框架,可以轻松构建单页面应用程序(SPA)。ECharts是一个基于JavaScript的数据可视化库,可以通过简单的配置实现各种图表的展示和交互。
97 0
|
21天前
Echarts图表设置x轴y轴均随滚轮滚动缩+放 区域缩放
Echarts图表设置x轴y轴均随滚轮滚动缩+放 区域缩放

热门文章

最新文章