0

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

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

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

2 回答 2

2

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

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

如果 num series > 4 showDataLabels = false;

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

plotOptions: {
            line: {
                dataLabels: {
                    enabled:showDataLabels,
                    color: '#000000',
                    formatter: function() {
                        return Highcharts.numberFormat(this.y, 2);
                    }
                }
            }
        },
于 2013-03-12T15:47:21.633 回答
-1

在 dataLables 中使用 Formatter 功能

formatter: function ()  {
    if(this.y!=0)
        return this.y;
    else`enter code here`
        return "";
}
于 2016-08-03T10:48:52.567 回答