echarts柱状图,数值大于零的在x轴上方,label在柱状图上方,小于零的在x轴下方,label在轴下方
时间: 2024-02-20 18:02:40 浏览: 212
你可以通过设置 `label` 的 `position` 属性来实现这个需求,具体实现方式如下:
```javascript
option = {
xAxis: {
type: 'category',
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
},
yAxis: {
type: 'value'
},
series: [{
name: '销量',
type: 'bar',
data: [120, -132, 101, 134, -90, 230, 210],
itemStyle: {
color: {
type: 'linear',
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [{
offset: 0,
color: '#36c5f0'
}, {
offset: 1,
color: '#4d8ff7'
}]
}
},
label: {
show: true,
position: function (params) {
// 如果 data 值大于 0,label 放在柱状图上方,否则放在柱状图下方
return params.data >= 0 ? 'top' : 'bottom';
},
formatter: function (params) {
// 格式化 label,显示数据绝对值
return Math.abs(params.data)
}
}
}]
};
```
上面的代码中,`label` 的 `position` 属性中通过判断 `params.data` 的值来确定 label 的位置,如果 `params.data` 大于等于 0,就把 label 放在柱状图上方,否则放在柱状图下方。同时,`formatter` 属性用来格式化 label 的显示内容,这里显示数据的绝对值。
此外,`itemStyle` 属性可以设置柱状图的样式,这里用了渐变色实现。通过设置 `color` 属性为一个对象,对象中包含了渐变色的配置信息。
阅读全文