在Highcharts的堆叠柱状图中隐藏0值

4
我想在Highcharts的堆积柱状图中删除0值。请看这个例子:http://jsfiddle.net/4NxYh/。在"15.08.",最顶部的值是"0",这很令人困惑。如何隐藏它?如何隐藏"low"值,比如"14.08."上面的最顶部的"1",以避免溢出区域?这是我正在使用的代码:
chartOptions = {
        chart: {
            type: 'column'
        },
        title: {
            text: ''
        },
        xAxis: {
            categories: ["14.08","15.08","16.08","17.08","18.08","19.08","20.08","21.08","22.08","23.08","24.08","25.08","26.08","27.08","28.08"] 
        },
        yAxis: {
            min: 0,
            title: {
                text: ''
            },
            endOnTick: false,
            maxPadding: 0.0,
            stackLabels: {
                enabled: true,
                style: {
                    fontWeight: 'bold',
                    color: (Highcharts.theme && Highcharts.theme.textColor) || 'gray'
                }
            },
            allowDecimals: false
        },
        legend: {
            align: 'right',
            x: 0,
            verticalAlign: 'top',
            y: 0,
            floating: true,
            backgroundColor: (Highcharts.theme && Highcharts.theme.legendBackgroundColorSolid) || 'white',
            borderColor: '#CCC',
            borderWidth: 1,
            shadow: false
        },
        tooltip: {
            formatter: function () {
                return '<b>' + this.x + '</b><br/>' +
                    this.series.name + ': ' + this.y + '<br/>' +
                    'Gesamt: ' + this.point.stackTotal;
            }
        },
        plotOptions: {
            column: {
                stacking: 'normal',
                dataLabels: {
                    enabled: true,
                    color: (Highcharts.theme && Highcharts.theme.dataLabelsColor) || 'white'
                },
                treshold: 1
            }
        },
        series: [{"name":"a","data":[1,0,0,0,0,0,0,0,0,0,1,0,0,0,0],"_colorIndex":0},{"name":"b","data":[92,91,65,56,102,146,146,86,117,115,103,108,137,134,19],"_colorIndex":1},{"name":"c","data":[13,4,3,1,5,13,2,4,2,2,3,3,2,8,0],"_colorIndex":2},{"name":"d","data":[3,6,1,4,3,6,3,2,1,6,3,3,0,6,1],"_colorIndex":3},{"name":"e","data":[41,19,8,16,30,32,46,19,17,11,15,13,52,30,2],"_colorIndex":4},{"name":"f","data":[5,2,3,2,5,3,4,2,3,2,1,3,4,12,1],"_colorIndex":5},{"name":"g","data":[70,80,77,72,77,94,80,60,52,75,49,84,74,72,12],"_colorIndex":6},{"name":"h","data":[0,1,0,0,0,0,0,0,0,0,2,0,0,0,0],"_colorIndex":7},{"name":"i","data":[0,1,1,0,0,0,0,0,0,0,0,0,1,0,0],"_colorIndex":8},{"name":"j","data":[0,0,2,0,0,1,0,1,1,1,0,4,2,1,0],"_colorIndex":0},{"name":"k","data":[0,0,0,0,0,1,1,1,0,0,0,0,0,0,0],"_colorIndex":1}] 
    };
container = $('#chart');
container.highcharts(chartOptions);
1个回答

12

这个方法很管用。但我加了一个 if(this.y/this.total < 0.05) 来检查的不是绝对值,而是百分比。所以在这个例子中,当数值小于5%时,我会隐藏它们。 - Stefan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接