Hinzufügen von Daten in ein highchart-Diagramm mit einem array mit den IDs

Möchte ich hinzufügen, dass eine Serie zu einem highchart Streudiagramm, wo ich bin indem jeder Punkt in der Serie. Ich ein Diagramm erstellen, in der folgenden Weise:

var chart; //globally available

makeCharts = function(){

      chart = new Highcharts.Chart({
         chart: {
            renderTo: 'container1',
            type: 'scatter'
         },        
         series: [{
            name: 'a',
                data: [{                    
                    'id': 'point1',
                    'x': 1,
                    'y': 2
                }, {
                    'id': 'point2',
                    'x': 2,
                    'y': 5
                }]
            }]

      });
}

Ich würde gerne in der Lage, zur Aktualisierung der Punkte auf der Karte mit so etwas wie:

chart.series[0].setData([{id:['point3', 'point4', 'point5'], y:[0,1,2], x:[1,2,3]}])

dies ist aber nicht korrekt. Ist es möglich, Sie zu aktualisieren ein Diagramm mithilfe dieser Ansatz, wo jeder Punkt hat eine ID?

EDIT:

Nur um zu klären, möchte ich weitergeben kann, die arrays direkt auf, anstatt das hinzufügen der Daten-Punkt für Punkt mit addPoint(). Ich könnte in einer Schleife durch ein array und verwenden Sie addPoint() etwas wie das zu tun:

id:['point3', 'point4', 'point5'];
y:[0,1,2];
x:[1,2,3];

for (i=0; i<x.length; i++)
  {
  chart.series[0].addPoint({
    x:  x[[i],
    y:  y[i],
    id: id[i]
});

  }

Dies ist jedoch sehr langsam. Es ist viel schneller, um das hinzufügen von Daten mit dem folgenden Ansatz:

chart.series[0].setData([[1,0],[2,1],[3,2]]);

Habe ich festgestellt, dass ich Daten hinzufügen, wie dies:

 chart.series[0].setData([[1,0, 'point3'],[2,1, 'point4'],[3,2, 'point5']]);

dann aber der einzige Weg, ich kann Zugriff auf die id wenn der Punkt ausgewählt ist, wird durch this.point.config[2]. Mit dem folgenden Ansatz, den ich bin nicht in der Lage zu verwenden chart.get('pointID') zum identifizieren eines Punktes, da ich nicht die ID. Ich möchte in der Lage sein, zu erkennen den Punkt, indem nur der ID.

bitte aktualisieren Sie über den status des Problems, wenn keine der Lösungen half mark entsprechend, wenn es etwas gab, bitte berücksichtigen einen Kommentar hinterlässt zumindest.
Gibt es eine Funktion addSeries für diesen Zweck

InformationsquelleAutor djq | 2012-10-05

Schreibe einen Kommentar