https://blog.csdn.net/qq_41137858/article/details/119327240?spm=1001.2014.3001.5501
barMinHeight是数字或者百分比配置,不是函数支持配置单个数据项的barMinHeight。
可以将echarts显示为svg,直接js操作dom将值为0的项设置为透明即可。效果如下,有帮助麻烦点个采纳【本回答右上角】,谢谢~~
<!DOCTYPE html>
<html>
<!-- 测试柱状图的最小长度 -->
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div id="main" style=" width: 500px;height: 500px;margin: 0 auto;"></div>
</body>
<script src="https://g.csdnimg.cn/??lib/jquery/1.12.4/jquery.min.js"></script>
<!-- echarts版本:5.1.2 -->
<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.1.2/echarts.js"></script>
<script>
var chartDom = document.getElementById('main');
var myChart = echarts.init(chartDom, null, { renderer: 'svg' });
var option;
var data = [0, 10, 800]
option = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
},
},
xAxis: {
type: 'value',
},
yAxis: {
type: 'category',
data: ['1', '2', '3']
},
series:
{
data: data,
name: 'test',
type: 'bar',
stack: 'total',
barMaxWidth: 50,
barMinHeight:5,
}
};
myChart.setOption(option);
var paths = $('#main text:last').nextAll();//通过dom结构得到绘制的bar,注意echart版本变化可能生成的dom结构有变化,需要自己审核生成的dom结构修改这里的选择器
data.forEach((v, index) => {//遍历数据,为0则设置对应的bar(svg的path)为透明实现隐藏
if (v == 0) paths.eq(index).css('opacity', 0);
});
</script>
</html>
这个我问题我也遇到过,我用双Y轴,左侧Y轴显示0-100,右侧Y轴(隐藏不显示)显示0-10,得多一步判断映射哪个轴?这算比较取巧的方法,楼主可以试一下