开发时用echarts做双(多)轴时发现其中某轴有负数时0刻度线不对齐。
最后得出最佳解决办法
首先判断是否有负数
const hasNegative = Math.min(...seriesData[0], ... seriesData[1]);
如果有的话,我的配置是这样的
yAxis: {
type: 'value',
max: value => {
const { max, min } = value;
const absMax = Math.max(Math.abs(max), Math.abs(min));
return Math.floor(absMax * 1.2);
} ,
min: value => {
const { max, min } = value;
const absMax = Math.max(Math.abs(max), Math.abs(min));
return Math.floor(-absMax * 1.2);
}
}
最后的结果OK。
再对最大值最小值优化下应该会更好。
最后,使用webpack的注意把echarts升级到最新版本。否则样式可能会错乱。