背景
今天做项目的时候需要展示一个x轴为数据轴,y轴为类型轴的柱状图,而且带有分页效果。当完成时我发现有些页面y轴文字特别长,并且由于我设置了containLabel: true,所以图的范围忽大忽小,用户体验很不友好。
这时我就去查echarts的文档,发现并没有能设置坐标轴数据最大宽度的属性,于是上网查找类似的问题,发现很多前辈遇到的x轴文字过长都是采用倾斜的方法,在我这里感觉并不是很适用。
解决方案
在翻看echarts文档的过程中我看到了坐标轴文字可以自行定义模板,于是想到了我给一个固定12的字数限制,超出部分以省略号代替,这样就不会造成图形范围忽大忽小了。
axisLabel: {
color: "#000",
interval: 0,
formatter: function(value) {
if (value.length > 12) {
return value.substring(0, 12) + "...";
} else {
return value;
}
}
},
最终还是想赞一下这种模板的接口方式,把决定权交给了用户,自由度更高,个人觉得这比多定义一些属性来的更好。