針對(duì)echarts yAxis type為value類(lèi)型時(shí),數(shù)據(jù)過(guò)大和過(guò)小顯示問(wèn)題
問(wèn)題描述
當(dāng)echarts中折線圖展示時(shí),數(shù)據(jù)中有很大的情況比如15000,也有很小的情況展現(xiàn)比如4,當(dāng)數(shù)據(jù)比較分散在極端值時(shí),會(huì)造成極小值看不到起伏的情況,讓用戶(hù)誤以為沒(méi)有值。
解決辦法
采用log指數(shù)型展示,缺點(diǎn)是:10的指數(shù)沒(méi)有0的情況,如果數(shù)據(jù)中出現(xiàn)0或者小于0的情況,不太好處理,但也可以解決;
1-初始化數(shù)據(jù)有0的情況,為0.1。
getlinsData(res_lines, model, pname, name) {
if (pname && name) {
res_lines.forEach((item) => {
model.push({
name: item.model,
// 修改地方
data: item[pname][name] === 0?0.1:item[pname][name],
date: item.begin_time,
begin_time: item.begin_time,
end_time: item.end_time
})
})
let isnull = model.every((item) => item.data === 0)
if (isnull) {
this.optionStyle.yAxis.max = 100
} else {
this.optionStyle.yAxis.max = null
}
}
},
2-然后去y軸自定義formatter,把0.1的值換成0
yAxis: {
show: true,
type: 'value',
max: 100,
nameTextStyle: {
color: '#999',
fontSize: 12,
padding: [0, 0, 0, 0] // 調(diào)整Y軸
},
axisLine: {
show: false,
lineStyle: {
color: '#eee',
type: 'solid'
}
},
axisLabel: {
show: true,
color: '#666',
fontWeight: 400
// 處理0.1顯示問(wèn)題
formatter: function(value) {
if(value===0.1){
return 0
}else{
return value
}
}
},
axisTick: { show: false },
splitLine: {
show: true,
lineStyle: {
color: '#eee'
}
}
},
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。