Highcharts条件数据标签

时间:2013-03-12 14:13:07

标签: javascript highcharts

我正在根据一些用户输入创建一个Highcharts折线图。用户可以选择1个或多个分组和日期范围,然后为每个组创建一个系列。这项工作正常,但当他们选择超过3组时,图表看起来很糟糕,因为数据标签太多了。

我想仅在图表上少于4个系列的情况下有条件地启用数据标签。我怎样才能做到这一点?我正在尝试这样但我似乎无法让它发挥作用。

plotOptions: {
    line: {
        dataLabels: {
            enabled: function() {
                return !!(chart.series.length > 3);
            },
            color: '#000000',
            formatter: function() {
                return Highcharts.numberFormat(this.y, 2);
            }
        }
    }
}

2 个答案:

答案 0 :(得分:2)

创建系列时,请跟踪您创建的系列数。还有一个javascript变量'showDataLabels = true'。如果在创建时系列的数量超过4,请设置showDataLabels = false;

var showDataLabels = true;
// start creating the series.

如果是num系列> 4        showDataLabels = false;

准备好生成图表后,请使用:

plotOptions: {
            line: {
                dataLabels: {
                    enabled:showDataLabels,
                    color: '#000000',
                    formatter: function() {
                        return Highcharts.numberFormat(this.y, 2);
                    }
                }
            }
        },

答案 1 :(得分:-1)

在dataLables中使用Formatter功能

formatter: function ()  {
    if(this.y!=0)
        return this.y;
    else`enter code here`
        return "";
}