当前位置:首页 > 技术文章 > 正文内容

echarts数据更新禁止图表重新绘制

zonemu3个月前 (07-21)技术文章29

echarts的数据更新使用setOption来实现的。 官网的解释是这样的:

设置图表实例的配置项以及数据,万能接口,所有参数和数据的修改都可以通过 setOption 完成,ECharts 会合并新的参数和数据,然后刷新图表。如果开启动画的话,ECharts 找到两组数据之间的差异然后通过合适的动画去表现数据的变化。

所以我们在希望数据实时更新的时间,使用setOption即可。


但是setOption会导致图表及时更新。

及时更新在通常情况下是没有问题,但是和dataZoom缩放组件一起使用的话。每次的setOption都会将以前的dataZoom进行重置。

比如,现在的dataZoom的初始位置为80-100,手动缩放到40-60,此时使用setOption的话,dataZoom会瞬间回到80-100的位置,即回到重新设置的位置。

这样并不是我们所期望的效果,我们希望得到的是,数据的更新并不影响我本次的缩放,即setOption不会影响我当前的缩放位置。

解决方法

echarts3.0以上的setOption中有可选配置参数。

参数:

调用方式:

chart.setOption(option, notMerge, lazyUpdate);

或者

chart.setOption(option, {
    notMerge: ...,
    lazyUpdate: ...,
    silent: ...
});
- option

图表的配置项和数据,具体见配置项手册。

- notMerge

可选,是否不跟之前设置的 option 进行合并,默认为 false,即合并。

- lazyUpdate

可选,在设置完 option 后是否不立即更新图表,默认为 false,即立即更新。

- silent

可选,阻止调用 setOption 时抛出事件,默认为 false,即抛出事件。

其中的lazyUpdate参数就是我们的所需要的

可选,在设置完 option 后是否不立即更新图表,默认为 false,即立即更新。

完整的配置参数

chart.setOption(option, {
    false,
    true,
    false
});



相关文章

使用GitLab实现CICD(gitlab配置cicd)

GitLab CI/CD 是一个内置在GitLab中的工具,用于通过持续方法进行软件开发:Continuous Integration (CI) 持续集成Continuous Delivery (C...

我的VIM配置(如何配置vim编辑环境)

写一篇关于VIM配置的文章,记录下自己的VIM配置,力求简洁实用。VIM的配置保存在文件~/.vimrc中(Windows下是C:\Users\yourname \_vimrc)。VIM除了自身可配置...

前端学习又一大里程碑:html5+js写出歌词同步手机播放器

需要完整代码和视频请评论后加前端群470593776领取javascript进阶课题:HTML5迷你音乐播放器学习疲惫了,代码敲累了,听听自己做的的音乐播放器,放松与满足知识点:for循环语句,DOM...

使用HTML5+JS实现文字转语音(h5 文字转语音)

使用HTML5+JS实现文字转语音现在越来越多的视频采用了AI语音,下面给大家介绍几种简单的文字转语音的办法,完全免费的欧。使用HTML5语音合成API-SpeechSynthesis实现的文字转语音...

HTML5培训的学习大纲

第一阶段前端开发基础:1.HTML标签语言(xhtml+html5)行业介绍,本地环境配置,sublime编辑器学习使用,制作html标准模板,css基础,html常用标签(一),html常用标签(二...

最快认知什么才是HTML5广告!(h5广告设计是什么)

H5广告似乎是自UI风靡之后,又一个热度极高的词儿。他是什么?一个字母加一个数字是个什么意思? 为什么如此受欢迎?金色号角会议室,创作事业部赵阳同学就HTML5广告做了详尽生动的分享,带大家一起用手机...