ECharts绘图修改搜索条件legend选择状态不保存

论坛 期权论坛 脚本     
匿名技术用户   2020-12-28 07:50   180   0

不知道大家用ECharts时有没有遇到过这种需求:ECharts画出的图有多种数据,并且可以点击图例控制数据的展示和隐藏,如果修改了查询条件,图也会重新生成,但是之前选择的图例状态又回到了初始的状态!这种情况下,如何保证图片重新生成的时候记录图例的选择状态呢?研究了一下ECharts的API文档,想出了如下解决办法:

设定图例名为name,初始化option的时候代码为:

//初始化参数

var legendOptions={a:{color:'red',selected: true}, b:{color:'green', selected: true}, c:{color:'blue', selected: false}};

//ajax数据

data = {a:[1,2,1,2,1], b:[2,1,2,1,2], c:[1,1,2,2,1]};

for(var name in data)

option.legend.data.push(name);

option.legend.selected[name]=legendOptions[name].selected;//(这里是默认选择状态)

......

myChart = ec.init(...);

myChart.setOption(option);

以上为一开始的代码,每次重新生成图表都会初始化legend选择状态,可以做如下修改

在设置option.legend.selected[name]的时候处理一下

if(myChart){

option.legend.selected[name]=myChart.component.legend.isSelected(name);//这里获取之前的选择状态

}else{

option.legend.selected[name]=legendOptions[name].selected;//(这里是默认选择状态)

}

其他的按照常规来就行了,如果大家有更好的解决方案,可以互相探讨一下

转载于:https://www.cnblogs.com/mjfmei/p/6037691.html

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP