接上篇文章,双对数轴展示展示看起来是没什么问题了,但经过自测发现,x坐标为0的时候,这条数据不展示了,echarts把x===0的数据给过滤了。
值为0或负数时会显示异常,因为负数和0没有对数,这是定义,也是公理。
知道了原因后我们就需要来对数值0做特殊处理,下面采取了一种转化的方式:
把0转化成一个很接近于0的数值,注意要处理几个地方:x轴,以及tooltip提示,和series的data里横坐标x都要处理,这里我处理后的数据为0.1,代码如下:
xAxis: {
type: 'log',
max: 1000000,
min: 0.1,
axisLabel: {
formatter(value: number) {
if (value === 0.1) return 0;
return convertToPower10(value);
},
},
},
series = allResult?.allColumn
?.filter((col: string) => {
return col.includes(type);
})
.map((name: string, index: any) => ({