1. 程式人生 > >echarts legend太多換行顯示及legend每個標籤文字過長分兩行顯示的間距調整問題

echarts legend太多換行顯示及legend每個標籤文字過長分兩行顯示的間距調整問題

最近在做大資料相關的東西,用到了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個不同的陣列。你們懂的,嘿嘿嘿。