echarts legend太多換行顯示及legend每個標籤文字過長分兩行顯示的間距調整問題
阿新 • • 發佈:2019-01-23
最近在做大資料相關的東西,用到了echarts,然後遇到了有10個legend,要分左右顯示,並且每五個字換行顯示問題。
前者很快就解決出來了,後者換行顯示的話文字捱得很近,怎麼辦呢,第一反應自己搞不定,那就百度看看有沒有解決方案,結果一大堆都是說前者分左右換行顯示,後者沒有百度到做法,所以只能自己上啦。廢話不多說上程式碼
"legend": [{ "icon": "circle", "right": "39%", "top":'5%', "itemGap": 15, 'itemWidth':10, 'orient':'vertical', "data": ["地稅稅務\n登記資訊","市人口規模及\n分佈情況(年度)","商事主題\n基礎資訊","水雨情資訊","企業馳名商標和\n著名商標資訊"], 'formatter': function(params) { if(params.indexOf('\n') == -1){ return params; }else{ return '{white|'+params.split('\n')[0]+'}\n'+params.split('\n')[1]; } }, "textStyle": { "rich":{ white:{ color:"#fff", fontSize:12, padding:[6,0,0,0] } } } },{ "icon": "circle", "right": "6%", "top":'5%', "itemGap": 15, itemWidth:10, 'orient':'vertical', "data": ["特色產業(廣東省\n專業鎮資訊)","文化設施名錄","道路客運\n企業資訊","高管人員資訊","機動車交通違法\n監控抓拍位置資訊"], 'formatter': function(params) { if(params.indexOf('\n') == -1){ return params }else{ return '{white|'+params.split('\n')[0]+'}\n'+params.split('\n')[1]; } }, "textStyle": { "rich":{ white:{ color:"#fff", fontSize:12, padding:[6,0,0,0] } } } }],
以上就是echarts的換行之後的設定它的行高的方法。主要是用到了formatter進行格式化和textStyle使用padding達到換行後可以設定行高。
其實data裡面可以不用"\n",可以用任何的字元或者直接截斷放進2個不同的陣列。你們懂的,嘿嘿嘿。