fix:修复explore y轴重复的问题

This commit is contained in:
wangwenrui
2020-09-25 11:04:29 +08:00
parent a7e19e85de
commit 733b2c45da

View File

@@ -153,6 +153,13 @@
}
if(this.chartType == 'line'){
let maxValueCopies = this.getMaxValue(this.series,{unit:this.unit});
let maxValue=maxValueCopies.maxValue;
let copies=maxValueCopies.copies;
let unit=maxValueCopies.unit;
this.option.yAxis.minInterval=chartDataFormat.Interval(maxValue,copies,unit.type,'min')
this.option.yAxis.maxInterval=chartDataFormat.Interval(maxValue,copies,unit.type,'max')
if(this.yAxisFormatter){
this.option.yAxis.axisLabel.formatter=this.yAxisFormatter;
}else{
@@ -346,8 +353,19 @@
return alias;
},
defaultYAxisFormatter:function(value,index){
let unit=chartDataFormat.getUnit(this.unit);
return unit.compute(value,index);
let maxValueCopies = this.getMaxValue(this.series,{unit:this.unit});
let maxValue=maxValueCopies.maxValue;
let copies=maxValueCopies.copies;
let dot=maxValueCopies.dot;
let chartUnit=this.unit;
chartUnit=chartUnit?chartUnit:2;
let unit=chartDataFormat.getUnit(chartUnit);
// console.log(unit);
let flag=JSON.stringify(value).length>JSON.stringify(chartDataFormat.Interval(maxValue,copies,unit.type)).length;
if(dot===0&&flag){
dot=1;
}
return unit.compute(value,index,-1,dot);
},
setRandomColors:function(num){//当线条过多,默认颜色数量不够时须使用此方法,num 颜色的数量通常传递series的length即可
let colors=[];
@@ -388,6 +406,55 @@
},
chartInit() {
this.chart=echarts.init(document.getElementById(this.chartId));
},
getMaxValue(dataArg,chartInfo){
let maxValue=0;
let minValue=0;
if(chartInfo.unit &&dataArg.length>0){
maxValue=dataArg[0].data[0][1];
minValue=dataArg[0].data[0][1];
for(let j = 0; j < dataArg.length ; j++){
for (let i = 0; i < dataArg[j].data.length - 1; i++) {
maxValue = (maxValue < Number(dataArg[j].data[i+1][1]) ? Number(dataArg[j].data[i+1][1]) : maxValue);
minValue = (minValue > Number(dataArg[j].data[i+1][1]) ? Number(dataArg[j].data[i+1][1]) : minValue);
}
}
}
let chartUnit=chartInfo.unit?chartInfo.unit:2;
let unit=chartDataFormat.getUnit(chartUnit);
maxValue=chartDataFormat.formatDatas(maxValue,unit.type,'ceil',unit.ascii);
minValue=chartDataFormat.formatDatas(minValue,unit.type,'floor',unit.ascii);
let oldValue=maxValue;
let dot=0;
if(maxValue==1){
dot++;
}
if(oldValue>10){
while(oldValue>10){
oldValue=oldValue/10;
}
}else if(oldValue<1&&maxValue!==0){
while(oldValue<1&&oldValue>0){
oldValue=oldValue*10;
dot++;
}
maxValue=Math.floor(oldValue)/Math.pow(10,dot);
dot++;
}
let copies=chartDataFormat.copies(oldValue,unit.type);
// console.log(oldValue,copies,maxValue);
let oldDot=2;
if(maxValue<=1){
oldDot=dot>6?6:dot;
}
return {
maxValue,
dot,
copies,
minValue,
unit,
oldDot
}
}
},
mounted() {