echarts的使用技巧数据可视化踩出echarts的坑

echarts之自动切换折线图

2018-12-17  本文已影响4人  雨未浓

echarts有legend控件可以控制多个折线图之间的切换

legend: {
          data: ['财经','娱乐','社会'],
          selectedMode: "single",     //单选模式,每次出现一条折线图
          y: y,                                  //由于需要自适应,此值用变量动态改变
          right: 10,
          inactiveColor: "#ADD9FF",         //选中状态的颜色
          textStyle: {
            color: "#00FFFF"
          }
        },

其实legend里面有个选中属性
默认选中第一项“财经”
如果选中娱乐这一项
legend可以设置为

legend: {
          data:  ['财经','娱乐','社会'],
          selectedMode: "single",
          selected:{
              '财经':false,
              '娱乐':true,
              '社会':false
          }
          y: y,
          right: 10,
          inactiveColor: "#ADD9FF",
          textStyle: {
            color: "#00FFFF"
          }
        },

如果要让他自动切换折线,就要设置一个定时器动态的改变legend中的selected中的值

    /**
     * 动画线型图
     */
    moveLine: function(){
      this.timer = setTimeout(()=>{
        let option = this.line.getOption();
        let selected = {};
        for(let i=0;i<this.legendData.length;i++){    // this.legendData是legend中data的值,上面是写死的值,做自动切换时不要写死
          if(this.j==i){
            selected[this.legendData[i]] = true;
          }else{
            selected[this.legendData[i]] = false;
          }
        };
        this.line.clear();        // 清空原来的折线图
        option.legend[0].selected = selected;    //更改legend里的selected
        this.line.setOption(option);            //重绘
        this.j += 1;
        if(this.j == this.legendData.length){
          this.j = 0;
        };
        this.moveLine();
      },5000)
    }
上一篇下一篇

猜你喜欢

热点阅读