当前位置: 代码迷 >> 综合 >> echarts legend太多换行显示及legend每个标签文字过长分两行显示的间距调整问题
  详细解决方案

echarts legend太多换行显示及legend每个标签文字过长分两行显示的间距调整问题

热度:44   发布时间:2023-10-13 02:05:38.0

最近在做大数据相关的东西,用到了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个不同的数组。你们懂的,嘿嘿嘿。

  相关解决方案