Echarts 柱形图label 数值显示的位置不超过y轴最大值
时间: 2024-02-18 18:02:01 浏览: 119
你可以通过设置 label 的 formatter 函数来实现这个需求。假设你的柱形图的 y 轴最大值为 max,那么你可以这样设置 formatter 函数:
```js
option = {
// 其他配置项...
series: [{
type: 'bar',
// 其他配置项...
label: {
show: true,
position: 'top',
formatter: function(params) {
if (params.value > max) {
return '{a|' + max + '}\n{b|' + params.name + '}';
} else {
return params.value;
}
},
rich: {
a: {
fontSize: 14,
fontWeight: 'bold',
color: '#c23531'
},
b: {
color: '#999',
fontSize: 12,
lineHeight: 20
}
}
}
}]
};
```
上面的代码中,formatter 函数首先判断当前柱形的数值是否大于 y 轴最大值 max,如果是,则将 label 显示为一个上下两行的富文本,上面显示 max,下面显示当前类目的名称(params.name);如果不是,则直接显示当前数值(params.value)。通过 rich 配置项,我们可以对富文本的样式进行定制,比如设置不同的字体大小、颜色等等。
需要注意的是,如果你的 y 轴最大值是动态计算的,那么你需要在每次更新数据之后重新设置 label 的 formatter 函数。
阅读全文