ucharts 图表使用的时候如果传过来的最大值调小,Y轴就会出现下面的问题,这样肯定是不好的,解决如下:
获取series传值里面的最大值,动态设置Y轴的splitNumber: this.num,
getNum() {
let maxArr = this.dataEcharts[this.valueKey][0].data;
let num = '';
let newArr = maxArr.map(Number); // 字符串数组转为整数数组
let max = newArr[0]
for(let i =0,len=newArr.length;i<len;i++){
if(max<newArr[i]){
max = newArr[i]
}
}
if(max>=5){
num = 5;
}else if(max>=4){
num = 4;
}else if(max>=3){
num = 3
}else if(max>=2){
num = 2
}else if(max>=0){
num = 1
}
this.num = num;
},
...
yAxis: {
//如果是多坐标系则传数组型对象[{disabled:true},{disabled:false}]
disabled: false, //不绘制Y轴
position: 'left', //Y轴位置,可选值左侧left右侧right(未起效果)
min: 1,
splitNumber: this.num|| 5,
format: val => {return val.toFixed(0);} // 格式化Y轴,不显示小数点
},
...
注意:如果是组件传值的话,父组件传的值如果改变,子组件必须要在watch里面监听,否则可能改变不了。