代码之家  ›  专栏  ›  技术社区  ›  Rohit Agrawal

在图例上显示/隐藏数据标签单击

  •  1
  • Rohit Agrawal  · 技术社区  · 8 年前

    我正在制作Highcharts中的堆积柱形图。我有一个要求,在每次单击图例时,应显示/隐藏该序列上的数据标签,但不应隐藏序列/堆栈。所以我只想隐藏/显示数据标签。

    我尝试了这个方法,并通过使用以下方法让系列停止隐藏:

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

    但我无法在单击图例时显示数据标签。

    这是 Fiddle Link .

    2 回复  |  直到 8 年前
        1
  •  1
  •   undefined_variable    8 年前
    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
                        }
    
        2
  •  0
  •   Rohit Agrawal    8 年前

    感谢@undefined\u variable的回答。

    我又找到了一种使用 this .

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

    Fiddle