讲师中心 微信公众号

工具推荐

视频效率加速
剧云
剧云

中文短剧剧本制作平台

updream

一键生成高质量推广成片

立刻MV
立刻MV

低成本歌曲 MV、视频生成

AniShort
AniShort

AI短剧协同制作平台

ECharts动态图表入门 如何实现数据实时更新【教程】

胖明吖_6815

胖明吖_6815

发布时间:2026-01-11 19:13:41

|

582人浏览过

|

来源于php中文网

原创

ECharts实现动态图表更新有三种方法:一、用setInterval定时轮询,调用setOption强制重绘;二、用WebSocket长连接,配合addData和dataZoom实现低延迟推送;三、用内置streaming支持,通过appendData流式添加数据并配置时间轴。

echarts动态图表入门 如何实现数据实时更新【教程】 - php中文网

如果您希望在网页中展示随时间变化的数据趋势,例如实时监控系统中的温度、访问量或股票价格,ECharts 提供了便捷的机制来实现图表数据的动态刷新。以下是实现 ECharts 动态图表数据实时更新的具体步骤:

本文运行环境:MacBook Air,macOS Sequoia。

一、使用 setInterval 定时轮询更新数据

该方法通过 JavaScript 的 setInterval 定期调用后端接口或生成模拟数据,并调用 ECharts 实例的 setOption 方法刷新图表。适用于对实时性要求中等、后端支持常规 HTTP 接口的场景。

1、在初始化 ECharts 实例后,定义一个全局变量 chart 保存实例引用。

2、编写 fetchNewData 函数,返回 Promise,用于获取最新数据(可为 mock 数据或实际 API 调用)。

3、使用 setInterval 每 3000 毫秒执行一次数据拉取与图表更新逻辑。

4、在回调中调用 chart.setOption({ series: [{ data: newData }] }, true),其中第二个参数 true 表示不合并配置,强制重绘。

5、确保每次更新前对新数据做格式校验,避免因数据结构错误导致图表渲染中断。

二、利用 WebSocket 建立长连接推送数据

该方式由服务端主动向客户端推送增量数据,减少无效请求,降低延迟,适合高频率更新(如每秒多次)且服务端已部署 WebSocket 服务的场景。

1、在页面加载完成后,创建 WebSocket 实例,连接至后端 ws:// 地址,例如 new WebSocket("ws://localhost:8080")。

Expanso yaml-to-json
Expanso yaml-to-json

使用 Expanso Edge 管道将 YAML 输入转换为 JSON 格式。

下载

2、监听 onopen 事件,在连接建立后发送初始化订阅指令。

3、监听 onmessage 事件,解析返回的 JSON 数据,提取 time 和 value 字段。

4、将新数据 push 到原始 series.data 数组末尾,并调用 chart.addData() 方法添加单点(需 ECharts 5.0+)。

5、配合 dataZoom 组件启用实时滚动,设置 dataZoom[0].type = "inside" 可实现平滑拖拽与缩放。

三、采用 ECharts 的 streaming 插件简化流式处理

ECharts 官方提供 streaming 插件(echarts-gl 不适用,需引入 echarts@5.4+ 内置流支持),可自动管理时间窗口、丢弃旧数据并维持固定点数显示,适合时序监控类图表。

1、初始化 option 时,在 series 中设置 type: "line" 并启用 progressiveThreshold: 0。

2、配置 large: true 和 progressive: 0 以启用流式渲染模式。

3、使用 chart.appendData({ seriesIndex: 0, data: [[timestamp, value]] }) 替代 setOption 全量更新。

4、为 x 轴设置 type: "time",并设定 minInterval 与 boundaryGap 确保时间轴连续。

5、务必在 appendData 前确认 chart 实例已正确初始化且 DOM 已挂载。

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

花生AI
花生AI Hot

一款AI视频创作工具,主要用于B站推出的AI视频创作工具,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

码上飞
码上飞 Hot

一款基于自然语言的AI应用开发平台,可根据用户描述自动生成应用程序,帮助个人和团队快速完成应用原型与开发。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2295

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

3742

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

1236

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

4319

2025.09.10

ECharts是什么
ECharts是什么

ECharts是基于JavaScript的开源可视化库,能够帮助开发者轻松地实现各种复杂的数据可视化效果,提供了丰富的图表类型和交互功能。本专题为大家提供ECharts是什么的相关的文章、下载、课程内容,供大家免费下载体验。

912

2023.08.04

echarts自适应大小设置
echarts自适应大小设置

使用ECharts的自适应大小设置可以使图表能够根据不同屏幕尺寸和设备进行自适应。一种是使用resize事件,在图表容器大小改变时重新渲染图表;另一种是使用CSS样式,通过设置图表容器的宽度和高度为百分比值,使图表容器根据父元素的大小进行自适应。根据实际需求选择合适的方法,可以使图表在不同设备上都能够良好地显示和交互 。

5145

2023.09.13

全局变量怎么定义
全局变量怎么定义

本专题整合了全局变量相关内容,阅读专题下面的文章了解更多详细内容。

5185

2025.09.18

python 全局变量
python 全局变量

本专题整合了python中全局变量定义相关教程,阅读专题下面的文章了解更多详细内容。

2190

2025.09.18

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

40

2026.11.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
WebStorm 官方调试文档
WebStorm 官方调试文档

共0课时 | 0人学习

React 教程
React 教程

共58课时 | 12.5万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 6.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn