ECharts 的核心使用方式是通过 setOption 更新配置。图表变化是否流畅、数据是否残留,往往取决于如何组织 option。

setOption 的合并行为

默认情况下,setOption 会把新配置与旧配置合并。这对局部更新很方便,但如果新数据结构变化较大,也可能留下旧配置。

例如原来有三条折线,后来只剩两条,如果没有正确处理,第三条可能还保留在图表中。

使用稳定的 series id

当图表包含多个 series 时,建议给每个 series 设置稳定的 idname。这样 ECharts 更容易判断哪条数据对应哪条图形。

1
2
3
4
series: [
{ id: 'pv', type: 'line', data: pvData },
{ id: 'uv', type: 'line', data: uvData }
]

稳定标识能减少更新时的错位。

需要清空时明确清空

如果图表结构变化很大,可以考虑使用:

1
2
chart.clear();
chart.setOption(option);

或者在 setOption 中使用替换合并相关选项。是否清空取决于场景:清空简单直接,但会损失部分动画连续性。

数据与展示分离

可视化代码最好把数据加工和 option 生成分开。先把原始数据整理成统一结构,再生成图表配置。这样图表类型变化时,数据处理逻辑更容易复用。

小结

ECharts 更新数据的关键是理解合并行为、给 series 稳定标识,并在结构变化时主动处理旧状态。