fix:修复explore y轴重复的问题
This commit is contained in:
@@ -153,6 +153,13 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(this.chartType == 'line'){
|
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){
|
if(this.yAxisFormatter){
|
||||||
this.option.yAxis.axisLabel.formatter=this.yAxisFormatter;
|
this.option.yAxis.axisLabel.formatter=this.yAxisFormatter;
|
||||||
}else{
|
}else{
|
||||||
@@ -346,8 +353,19 @@
|
|||||||
return alias;
|
return alias;
|
||||||
},
|
},
|
||||||
defaultYAxisFormatter:function(value,index){
|
defaultYAxisFormatter:function(value,index){
|
||||||
let unit=chartDataFormat.getUnit(this.unit);
|
let maxValueCopies = this.getMaxValue(this.series,{unit:this.unit});
|
||||||
return unit.compute(value,index);
|
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即可
|
setRandomColors:function(num){//当线条过多,默认颜色数量不够时须使用此方法,num 颜色的数量,通常传递series的length即可
|
||||||
let colors=[];
|
let colors=[];
|
||||||
@@ -388,6 +406,55 @@
|
|||||||
},
|
},
|
||||||
chartInit() {
|
chartInit() {
|
||||||
this.chart=echarts.init(document.getElementById(this.chartId));
|
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() {
|
mounted() {
|
||||||
|
|||||||
Reference in New Issue
Block a user