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

    不知道大家用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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值