当x轴文字过长时,可能会出现重叠现象,如图:

解决文字过长展示不全的问题,可以有以下解决方式:
设置x轴文字倾斜一定角度,可防止文字重叠
1 2 3 4 5 6 7 8 9 10 | xAxis: [ { name: '部门' , type: 'category' , axisLabel: { interval:0, rotate:40, } } ] |
如此便可避免重叠,效果如图:

但这里还有个问题,如果文字还是太长,会显示不全,可以尝试设置echarts图整体向上挪一下:
1 2 3 | grid:{ bottom:140+ 'px' , }, |
效果如图:

但整体看不是那么美观,如果像让x轴分多列折叠,可以设置以下属性:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | axisLabel: { interval:0, // rotate:40, formatter:function(value){ var ret = "" ; //拼接加\n返回的类目项 var maxLength = 2; //每项显示文字个数 var valLength = value.length; //X轴类目项的文字个数 var rowN = Math.ceil(valLength / maxLength); //类目项需要换行的行数 if (rowN > 1) { //如果类目项的文字大于3, for ( var i = 0; i < rowN; i++) { var temp = "" ; //每次截取的字符串 var start = i * maxLength; //开始截取的位置 var end = start + maxLength; //结束截取的位置 //这里也可以加一个是否是最后一行的判断,但是不加也没有影响,那就不加吧 temp = value.substring(start, end) + "\n" ; ret += temp; //凭借最终的字符串 } return ret; } else { return value; } } } |
效果如图:

还有一种解决方式就是,X轴类目项隔一个换行(使用formatter中index参数)
1 2 3 4 5 6 7 8 9 10 | axisLabel: { interval: 0, formatter:function(value,index) { debugger if (index % 2 != 0) { return '\n\n' + value; } else { return value; } }<br>} |
效果如图所示:
