黑魔法师乌漆嘛黑 2021-08-02 17:16 采纳率: 100%
浏览 738
已结题

Echarts柱状图如何使用最小高度解决数据差距过大,且过滤数据为0的情况?

  • 写回答

2条回答 默认 最新

  • CSDN专家-showbo 2021-08-02 18:02
    关注

    barMinHeight是数字或者百分比配置,不是函数支持配置单个数据项的barMinHeight。

    可以将echarts显示为svg,直接js操作dom将值为0的项设置为透明即可。效果如下,有帮助麻烦点个采纳【本回答右上角】,谢谢~~

    img

    <!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>
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月10日
  • 已采纳回答 8月2日
  • 创建了问题 8月2日

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog