在图例点击上显示/隐藏dataLabels

问题描述 投票:1回答:2

我正在使用Highcharts中的Stacked Column Chart。我要求在每次点击图例时,应显示/隐藏该系列上的dataLabels,但不应隐藏系列/堆栈。所以我只想隐藏/显示dataLabels。

我尝试了这个,并使用这个让系列停止隐藏:

events: {
    legendItemClick: function () {
        return false; // <== returning false will cancel the default action
    }
}

但是我无法在点击图例时显示dataLabels。

这是Fiddle Link

javascript jquery highcharts
2个回答
1
投票
legendItemClick: function (x) {
                    x.preventDefault()
                  var opt = x.target.chart.options.plotOptions.series;
    opt.dataLabels.enabled = !opt.dataLabels.enabled;
    x.target.chart.series[x.target.index].update(opt);
                  //x.target.chart.options.plotOptions.series.dataLabels.enabled=false
                   // <== returning false will cancel the default action
                    }

0
投票

谢谢你@undefined_variable的回答。

我找到了另一种使用this的方法。

legendItemClick: function () {
    var enabled = !this.options.dataLabels.enabled;
    this.update({
        dataLabels:{
            enabled: enabled
        }
    });
    return false; 
}

Fiddle

© www.soinside.com 2019 - 2024. All rights reserved.