原本将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;
}
...
});
解决后的折线图显示如下: