echart多y轴 切换标题时 永远只显示一个分割线

需求背景:

       有时候项目可能涉及多y轴  但如果此时 每个y轴都需要配置分割线,则显得很杂乱。因此能有一个y轴显示分割线,但如果不动态设置,可能会发生如下情况(没有分割线了) 用户体验很差。

解决代码如下:

<div class="statistic-chart" style="width: 100%; height: 100%" ref="chart"></div>
this.myChartIns = echarts.init(this.$refs.chart as any, '', { locale: 'ZH' });
this.myChartIns.on('legendselectchanged', (params: any) => {
        const trueSelectList: any[] = [];
        for (let item in params.selected) {
          if (params.selected[item]) {
            trueSelectList.push(item);
          }
        }
        let splitLineShowList: number[] = [];
        trueSelectList.forEach((item: any) => {
          const index = (this.options.series as any).filter((seriesItem: any) => {
            return seriesItem.name === item;
          })[0].yAxisIndex;
          if (splitLineShowList.indexOf(index) === -1) {
            splitLineShowList.push(index);
          }
        });
        splitLineShowList = sortBy(splitLineShowList);
        (this.options.yAxis as any).forEach((item: any, index: number) => {
          //等于排序后的第一个  则show true  其他为false
          item.splitLine.show = index === splitLineShowList[0];
        });
        this.myChartIns.setOption(this.options);
      });

以上代码可以直接复制。 

其中有一个sortBy函数,是自动升序排列,  来自lodash库

链接如下 Lodash 简介 | Lodash 中文文档 | Lodash 中文网

效果如下:

当隐藏第一个时 第二个y轴的分割线就显示出来了,后面的同理

 后续我还会在更新一些关于echart的小技巧,欢迎关注!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值