在使用Echars做一个报表功能时,发现axisLabel(即:报表X轴中的lable)显示不能自动换行,导致前面的多个超长的axisLabel叠加在一起,很少写博客,不知道说没说清楚,还是直接上两张换行前的效果图吧。见下图:
换行前效果图(1)
换行前效果图(2)
解决方法思路:
解决方案中的计算参考图:
以柱状图为例:
1)图表初始化容器宽度 = x(x轴左间隙宽度,默认80) + width(X轴宽度) + x2(x轴右间隙宽度,默认80);
2)图表X轴宽度(width) = 图表初始化容器宽度 - (x + width + x2);
3)每个axisLabel所在单元格宽度(xAxisWidth) = 图表X轴宽度(width) / 要显示的axisLabel个数(axisDataCount)
4)每个axisLabel单元格显示的字数 = xAxisWidth / 每个文件子的宽度尺寸(默认12)
5)每个axisLabel显示的字数 = 图表容器div的宽度 / axisLable个数(x轴柱子个数)
为了axisLabel显示的更好看点儿,可以将axisLabel的宽度多减去两到三个字的宽度
故:可将第4步 中的计算改为:
4)