3

我想以这样一种方式使用 Highcharts,即单击图例项可以启用该特定类别的数据标签。这可能吗?我尝试了以下方法来启用数据标签,但没有成功:

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 回答