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个不同的数组。你们懂的,嘿嘿嘿。

你可能感兴趣的:(前端,前端)