3

凡例項目をクリックすると、その特定のカテゴリのデータラベルが有効になるような方法でハイチャートを使用したいと思います。これは可能ですか?運がないデータラベルを有効にするために、次のことを試しました。

chart.series[0].data.dataLabels.enabled = true;

ここに私が取り組んでいるjsfiddleがあります:http: //jsfiddle.net/MXZgj/3/(legendItemClickを検索して、該当するコードがどこにあるかを確認してください)。

ご協力ありがとうございました!

4

2 に答える 2

4

これは機能します:

 chart.series[0].update({ dataLabels: { enabled:true }})
于 2016-02-19T22:04:40.890 に答える
1

シリーズのすべてのポイントを反復処理し、個々のデータ ラベルを有効にする必要がありました。

series: {
    events: {
        legendItemClick: function(event) {                   
            var selected = this.index;
            var allSeries = this.chart.series;

            $.each(allSeries, function(index, series) {                
                if (selected == index) {
                    $.each(series.points, function(i, point) {
                        point.update({
                            dataLabels: {
                                enabled: true
                            }
                        });
                    });
                } else {
                    $.each(series.points, function(i, point) {
                        point.update({
                            dataLabels: {
                                enabled: false
                            }
                        });
                    });
                }
            });

            return false;
        }
    }
}

コードのクリーンアップを少し使用できますが、そのままでうまく機能します。

于 2013-02-01T18:32:28.117 に答える