ECharts dataZoom设置filterMode: none时出现异常显示问题求助
ECharts dataZoom设置filterMode: none时出现异常显示问题求助
大家好,我最近在做一个自定义的ECharts图表,遇到了一个头疼的问题,想请各位大佬帮忙看看:
我的图表场景
我做的图表X轴是时间线,每个分类下的元素都包含两个X值:开始时间和结束时间,同时还有分类字段和其他辅助数据。
遇到的问题
我需要使用dataZoom功能来实现图表的缩放,但遇到了两难的情况:
- 当我把
dataZoom的filterMode设为"none"时,拖动缩放滑块(不管是slider模式还是inside模式),都会出现奇怪的显示错乱——有些元素会跟着缩放移动位置,但另一些元素却固定不动,完全不符合预期 - 如果把
filterMode改成"filter",显示错乱的问题就消失了,但新的问题来了:只要元素的结束X值超出了图表右侧的视图范围,整个元素就会直接消失,这和我的业务需求不符,所以必须使用"none"模式
我的dataZoom配置片段如下:
dataZoom: [ { type: "slider", filterMode: "none" //filterMode: "filter", } ]
我已经尝试过的解决方法
为了排查问题,我已经试了不少办法,但都没解决:
- 升级到ECharts最新的6.0.0版本
- 切换渲染模式:分别试过
canvas和svg两种方式 - 对X分类的数据源做了排序处理
- 关闭了图表动画(
animation: false),也关闭了dataZoom的实时更新(realtime: false)
我的疑问
我现在怀疑是不是自己的数据格式不符合ECharts对这种双X值时间线图表的要求?毕竟网上关于这类图表的配置资料实在太少了,我找不到明确的参考案例。
想请教各位:我到底哪里弄错了?能不能给我指个正确的方向?




