隐藏stacklabel如果为零

时间:2016-08-30 11:25:46

标签: highcharts column-chart

如果值为零,我有这个代码隐藏标签内的数字。我的问题是我还想隐藏列上显示的总数。

这是一个例子,最后一个标签。 http://jsfiddle.net/4NxYh/72/

plotOptions: {                    
    line: {dataLabels: {enabled: true, style: {fontSize: '8px'}, style: {textShadow: false}, allowDecimals: true,  formatter: function() {return this.y + 'e'}}},
    column: {stacking: 'normal', shadow: false, dataLabels: {
                        formatter:function() {
                            if(this.y != 0) {
                                return this.y;
                            }
                        },
                        enabled: true,
                        color: (Highcharts.theme && Highcharts.theme.dataLabelsColor) || 'white',
                        style: {
                            textShadow: '0 0 3px black',
                            fontSize: '8px'
                        }
                    }},
    series: {minPointLength: 0}

},

1 个答案:

答案 0 :(得分:1)

为了在总数为零时隐藏堆栈总计,您可以将dataLabels格式化程序的类似变体应用于stackLabels属性(另请参阅this Stack Overflow question格式化stackLabels)。

stackLabels: {
    enabled: true,
    formatter: function(){
        var val = this.total;
        if (val > 0) {
            return val;
        }
        return '';
    },
    style: {
        fontWeight: 'bold',
        color: (Highcharts.theme && Highcharts.theme.textColor) || 'gray'
    } 
},

在这种情况下,如果您的总数大于零,则显示堆栈标签。如果没有,请不要显示任何内容。

以下是此更改的小提琴的更新版本:http://jsfiddle.net/brightmatrix/4NxYh/76/

我希望这对你有所帮助!