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シリーズ>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 に答える