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;//(這里是默認選擇狀態)

    }

    其他的按照常規來就行了,如果大家有更好的解決方案,可以互相探討一下


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM