项目需求:如果最大最小值差别很大的话,若值很小,也需进行占位,所以加了barMinHeight,这样又导致了另一个问题,值为0时,不需要绘制,因此,提出了下面两种解决方案
第一种方法:将值为0的透明度设置为0
series: [
{
barMinHeight: 5,
data: [111111120, 200, 150, 80, 70, 110, {value:0, itemStyle: {opacity: 0}}],
type: 'bar'
}
]
第二种方法:用一特殊字符代替0(PS:特殊字符随意,这里用的是"-",但只要不和数据有冲突即可),这样bar就不会进行绘制,但是tooltip得进行特殊的处理
tooltip: {
show: true,
formatter(params) {
if(params.value === '-') {
return `${params.name}: 0`;
}
return `${params.name}: ${params.value}`
}
},
series: [
{
barMinHeight: 5,
data: [111111120, 200, 150, 80, 70, 110, '-'],
type: 'bar'
}
]
效果图如下:
第一种方法无需特殊处理tooltip,也无需更改数据,比较推荐。