关于在vue2中echarts通过legend控制markLine的显隐

话不多说先看图,图例在顶部没截进来。

默认初始化标记线是隐藏的,因此

{
            type: "line",
            name: "xxxx",
            yAxisIndex: 1,
            markLine: {
              symbol: "none",
              label: {
                show: true,
                position: "insideEndTop",
                formatter: "xxxx: {c}m",
                color: "red",
              },
              lineStyle: {
                color: "red",
                type: "dashed",
                width: 2, // 设置线条宽度为2
              },
              data: [
                 {
                  yAxis:  {},
                  name: "xxxx",
                },
              ],
            },
          },

这里的yAxis要设为{},否则报错

this.myChart.off('legendselectchanged') //解决重复触发
      const that = this
      this.myChart.on("legendselectchanged", function(event){
        let selected = event.selected;

        if(!selected['xx']){
          that.optionCharts.series[2].markLine.data[0].yAxis = {}
          that.optionCharts.legend.selected['xx'] = false
        }else{
          that.optionCharts.series[2].markLine.data[0].yAxis =  that.jjsw
          that.optionCharts.legend.selected['xx'] = true
        }
    }
        that.myChart.setOption(that.optionCharts);
      });

这样通过监听图例的选中状态,来控制markLine的值,以及为图例的显示赋值,来完成此效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值