【原】echarts 如何獲取X軸類目數(shù)據(jù) | echarts 如何獲取X軸類目數(shù)據(jù)長(zhǎng)度 | echarts 如何動(dòng)態(tài)修改X軸類目?jī)A斜 | echarts x軸文字顯示不全

下面主要講一下,前輩在最后提到的問題 ? ?解決

如何動(dòng)態(tài)去設(shè)置X軸類目的顯示、隱藏與傾斜?(因?yàn)樵诒卷?xiàng)目中也有這樣的需求)

問題:

X軸類目的數(shù)據(jù)是動(dòng)態(tài)顯示的,一兩個(gè)的時(shí)候沒有必要去傾斜;

多個(gè)的時(shí)候必須傾斜且全部顯示;

多個(gè)且每個(gè)類目的數(shù)據(jù)更長(zhǎng)時(shí)的解決。

解決:

echarts中有這樣一個(gè)方法可以

獲取全部設(shè)置的option---->echartsInstance.getOption()

該方法是echarts實(shí)例級(jí)別的方法,需要通過 echarts.init 創(chuàng)建的實(shí)例去調(diào)用。

對(duì)于此方法官方這樣解釋:

獲取當(dāng)前實(shí)例中維護(hù)的option對(duì)象,返回的option對(duì)象中包含了用戶多次setOption合并得到的配置項(xiàng)和數(shù)據(jù);

注意:返回的 option 每個(gè)組件的屬性值都統(tǒng)一是一個(gè)數(shù)組。

以及重新設(shè)置option的方法---->setOption()

有了它們,就能拿到X軸類目的數(shù)據(jù),之后再根據(jù)X軸類目數(shù)量動(dòng)態(tài)設(shè)置顯示的方式

0x002: ??代碼

var mysubOption = mySubChart.getOption();

?//獲取option所有數(shù)據(jù)(返回的option對(duì)象 每個(gè)組件的屬性值都統(tǒng)一是一個(gè)數(shù)組)

var mysubOptionxAxis = mysubOption.xAxis;//獲取option中的xAxis

var mysubOptionxAxis_Data = mysubOptionxAxis['0'].data;

//獲取option中xAxis 的 data(即報(bào)表X軸中的數(shù)據(jù))

if(mysubOptionxAxis_Data.length>=3){ ? ? ? ? ? ? ? ? ? //根據(jù)類目的個(gè)數(shù)動(dòng)態(tài)設(shè)置

mySubChart.setOption({

xAxis:{

axisLabel:{

interval:0,? ? ? ? ? ? ? ? ? // 0 橫軸信息強(qiáng)制顯示所有標(biāo)簽

rotate:-10? ? ? ? ? ? ? ? ? //刻度標(biāo)簽旋轉(zhuǎn)的角度

}}});

}

為了理解,上面是一步一步來的,知道了每個(gè)數(shù)據(jù)的結(jié)構(gòu)(Map還是Array),

就可以把代碼修整一下,使其變得更簡(jiǎn)潔

代碼:

var mysubOptionxAxis_Data = mySubChart.getOption().xAxis['0'].data;

if (mysubOptionxAxis_Data.length >= 3) { //重點(diǎn)為上方加粗代碼

................ //與上方代碼一致

}

}

});

}

修改后,如圖

?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容