2017-06-28 2 views
0

Ich arbeite an einem Scatterplot + Plot Linien-Diagramm, das mehrere Legenden hat. Ich muss den Wert der Diagrammlinien basierend auf den Streudiagrammwerten ändern. Könnte mir jemand helfen, den Streudiagrammwert zu erhalten, wenn ich auf irgendwelche Legendenelemente klicke?Highcharts Legende Ereignis klicken, um Daten zu erhalten

Ich habe diesen Code gemacht, der mir eine Warnung gibt, wenn ich auf irgendeine Legende klicke. Als nächstes muss ich den Scatterplot Wert erhalten und die Handlung Liniendiagramm ändern

events: { 
       legendItemClick: function(e) { 
        if(this.visible) { 

         alert('visible'); 


        } 
        else { 
         console.log("result"+result); 
         alert('Not visible'); 

        } 
       } 
      }, 
+0

Können Sie Ihr Beispiel als Live-Demo replizieren? Es sieht wie ein Teil davon aus, der es uns nicht erlaubt, den Fall zu reproduzieren. –

+0

Sie können die Seriendateien mit dynamischen Methoden wie series.update() oder [series.setData()] (http://api.highcharts.com/highcharts/Series.setData) aktualisieren. Sie können die Serie mit der ID http://api.highcharts.com/highcharts/Chart.get abrufen und aus dem Array series.data extrahieren - siehe das Beispiel http://jsfiddle.net/8ce0euyg/ – morganfree

Antwort

1

ich getan habe etwas ähnliches, aber für die Serien Plot, aber dies wird sicherlich den Ansatz, den Sie annehmen müssen geben.

if(series.name=='xyz'){//you can handle multiple legends by checking their name and have different calls for different legends 

        if (!this.visible) {// i want to make request for data only if when i click the legend and its visible 
        $.getJSON('xyzdata.php',{parameter1:xyz1,parameter2:xyz2}, function(data) {// making the call 
         series.setData(data.a);// with the returned data defining my plot 
         series.xAxis.setCategories(data.b); 
        }); 

}; 

Hoffe, dass hilft!

Verwandte Themen