2017-12-21 2 views
0

Ich arbeite an Stacked Column Chart in Highcharts. Ich habe die Anforderung, dass bei jedem Klick auf eine Legende die DataLabels dieser Serie ein-/ausgeblendet werden sollen, aber die Serie/der Stack sollte nicht ausgeblendet werden. Ich möchte also nur dataLabels verstecken/anzeigen.dataLabels in der Legende anzeigen/verbergen klicken

habe ich versucht, diese und bekam die Serie durch die Verwendung dieses Versteck zu stoppen:

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

Aber ich bin nicht in der Lage dataLabels auf Klick auf eine Legende zu zeigen.

Hier ist die Fiddle Link.

+0

return true Werke in Ihrer Geige feine –

+0

Warum fragt man die gleiche Frage wieder? Sie könnten die gleiche Frage bearbeiten –

+0

@NitinDhomse das Diagramm ist gleich, aber beide haben unterschiedliche Anforderungen –

Antwort

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

Überprüfen Sie, ob dies das ist, was Sie wollen –

+0

Vielen Dank @undefined_variable –

0

Vielen Dank @undefined_variable für Ihre Antwort.

Ich habe einen weiteren Weg gefunden, es mit this zu tun.

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

Fiddle

Verwandte Themen