x轴的标签是通过后端获取的,有时候文字过长,就会导致x轴线被往上压,请问要如何才能控制x轴不被往上压呢?
======================================================================================================================
调整了grid,还是会有不对齐的情况,也许是因为有些数据过长导致的
目前我的解决方案,暂时是使用formatter来解决的,有更好的解决方法的,求大神指教!
大致思路就是:使用formatter,规定这一行图表里面,xAxisLabel的文字长度,如果超出,则使用省略号,这样就可以保证label的高度是一致的。
option = {
xAxis: {
axisLabel: {
rotate: -30,
formatter: function(value, index) {
// 超出8个字符后面就用省略号代替
if(value.length > 8) {
let v = value.slice(0, 7) + '...'
return v
} else {
return value
}
}
}
}
}
======================================================================================================================
再补充一下,因为后面遇到了label可能为中文的情况,而中文的文字大小跟英文不一致,所以需要再做一个判断
option = {
xAxis: {
axisLabel: {
rotate: -30,
formatter: function(value, index) {
// 中文的范围(正则)
let pattern = new RegExp("[\u4E00-\u9FA5]+")
let v = ''
// 超出8个字符后面就用省略号代替
if(value.length > 8) {
if(pattern.test(value)) {
v = value.slice(0, 3) + '...'
} else {
v = value.slice(0, 7) + '...'
}
return v
} else {
return value
}
}
}
}
}
====================================================================================================================
今天看文档发现xAxis.offset似乎也可以解决问题,设置的是x轴线与图的偏移量,没有做具体尝试。
grid: {
}
设置grid距离底部的高度