原本将echarts yAxis.type设置为log是为了解决几条折线图数据差距较大时,折线重合展示的问题,结果发现在某条折线数据为0时,折线图显示不正常了:

        产生问题的原因是:

        yAxis.type = 'log'的时候,为对数解析方式,y轴坐标皆默认为10的对数方式展示,而10的对数不能为0。所以在初始化数据有0的情况下,需要换个思路。

        解决方式:

        将为0的数据遍历修改为0.1:

const newList = list.map(item => {
    if(item.value== 0) {
        item.value= 0.1;
    }
    return item;
});

        再到tooltip中自定义formatter,将0.1改变为0:

params.map((item, index) => {
    if(item.value == 0.1) {
        item.value = 0;
    }
    ...
});

        解决后的折线图显示如下:

 

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐