如何在柱形图中隐藏零值

时间:2013-04-05 13:02:57

标签: highcharts

我正在使用柱形图并在每个条形图的顶部显示这些值。如果它们是0,我不想显示值。如何做到这一点?这是我的一段代码

var series = {  data: [],   
                dataLabels: {
                    enabled: true,
                    color: 'black',
                    align: 'right',
                    x: -3,
                    y: 3,
                    style: {
                        color: '#333',
                        fontWeight: 'bold',
                        fontSize: '12px',
                        fontFamily: 'Trebuchet MS, Verdana, sans-serif'
                    }
                },
                pointWidth: 28
};

4 个答案:

答案 0 :(得分:28)

您可以使用格式化程序。这样的事情应该这样做:

dataLabels: {
  formatter:function() {
    if(this.y != 0) {
      return this.y;
    }
  }
}

http://api.highcharts.com/highcharts#plotOptions.series.dataLabels.formatter

答案 1 :(得分:12)

您可以使用datalabels formatter并添加检查值是否大于零的条件。

http://jsfiddle.net/DdvGm/

plotOptions: {
        series: {
            dataLabels:{
                enabled:true,
                formatter:function(){
                    if(this.y > 0)
                        return this.y;
                }
            }
        }
    },

http://api.highcharts.com/highcharts#plotOptions.column.dataLabels.formatter

答案 2 :(得分:8)

以下是答案,如果现有的答案是正确的,那么你的问题有多短,我不是完整的。

在highcharts中,0被视为一个数字,因此它将在图表上呈现。但是隐藏了null。因此,当您添加数据时,您必须检查该值是否为0,如果是,则将其更改为null。

如果您有疑问,请告诉我。

小提琴:http://jsfiddle.net/8kr0tods/看到它可能是0而mar是null,并且隐藏了null。

    if($VAL==0)
    {
        $VAL='null';
    }

答案 3 :(得分:0)

在使用带有react / typescript的导出类时,我遇到了以上答案的问题。进入函数的“ this”是该类的“ this”,而不是预期的。

要解决这个问题,我不得不将函数移到导出类之外。这是一个例子。

<Segment StartTime="639.752" EndTime="642.270" Participant="fe016">
  But I bet it's a good <Pause/> superset of it.
</Segment>