echarts 中設(shè)置x軸y軸文案過(guò)長(zhǎng)問(wèn)題!

echarts中 設(shè)置x||y軸文案、提示文字等為固定字?jǐn)?shù),超出顯示"..."


起初看到這種需求的時(shí)候,我是這個(gè)狀態(tài)

對(duì),我是拒絕的,人家echats畫出來(lái)就是一個(gè)canvas,你讓我怎么加...

但是,作為一個(gè)“有點(diǎn)追求的”前端,我得想招試試

總結(jié)下來(lái),唯一的突破點(diǎn)就是echarts的配置了。

echarts配置項(xiàng)網(wǎng)址:http://echarts.baidu.com/option.html

最后果然被我找到了~

一、先說(shuō)x||y軸的文案處理:

如圖,x軸的配置也就都在這里了

而關(guān)于x軸文案的設(shè)置,就是這個(gè)axisLabel?屬性了

而跟內(nèi)容有關(guān)的也就是這個(gè)formatter了,他有一個(gè)強(qiáng)大的回調(diào)函數(shù),其參數(shù)value就是軸上顯示的文案。

用這個(gè)萬(wàn)能的回調(diào)函數(shù),還怕什么刁鉆的效果是做不出來(lái)的!

于是,一頓操作效果就出來(lái)了

代碼如下:


axisLabel?:?

?{

?????formatter?:?function(value)

?????{

?????????let?valueTxt?=?'';

?????????if(value.length?>?3)?{

?????????????valueTxt?=?value.substring(0,?4)?+?'...';

?????????}

?????????else{

?????????????valueTxt?=?value;

?????????}

?????????returnvalueTxt?;

?????}

?}

二、圖表上提示文案加“...”

后來(lái),餅圖的數(shù)據(jù)提示文案也要求這個(gè)設(shè)置,這次我不慌了。

依照這個(gè)思路,我就去餅圖配置項(xiàng)中找答案去了;

同理,負(fù)責(zé)顯示文案的是label這個(gè)屬性,那么提示內(nèi)容肯定也是歸他管的!

果然,讓我找到了,這個(gè)強(qiáng)大的formatter!formatter!formatter!

他也有強(qiáng)大的回調(diào)函數(shù),返回的參數(shù)更是多!

其中,參數(shù)params的name屬性就是要顯示的文案

所以同理又是一段操作,效果也出來(lái)了:

代碼如下:


label?:?

?{

?????normal?:?

?????{

?????????show?:?true,?position?:?'inner',

?????????formatter?:?function(params)

?????????{

?????????????console.log(params)?let?newName?=?'';

?????????????if(params.name.length?>?5)?{

?????????????????newName?=?params.name.substring(0,?5)?+?'...';

?????????????}

?????????????else{

?????????????????newName?=?params.name;

?????????????}

?????????????returnnewName;

?????????}

?????}

?},

效果也就出來(lái)啦!

最后編輯于
?著作權(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ù)。

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