Ajout de données à un highchart graphique à l'aide d'un tableau avec des Id

Je veux ajouter une série à un highchart nuage de points où je suis en nommant chaque point de la série. J'ai créer un graphique de la manière suivante:

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
                }]
            }]

      });
}

Je voudrais être en mesure de mettre à jour les points sur la carte en utilisant quelque chose comme:

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

mais ce n'est pas correct. Est-il possible de mettre à jour un tableau à l'aide de cette approche où chaque point a une ID?

EDIT:

Juste pour clarifier, je voudrais être en mesure de passer les tableaux directement, plutôt que d'ajouter les données point par point à l'aide addPoint(). J'ai pu parcourir un tableau et utiliser addPoint() de faire quelque chose comme ceci:

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]
});

  }

Cependant, c'est très lent. C'est beaucoup plus rapide pour ajouter des données à l'aide de l'approche suivante:

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

J'ai trouvé que je peux ajouter des données comme ceci:

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

mais alors, la seule façon que je peux accéder à la id lorsque le point est sélectionné, c'est par this.point.config[2]. Avec l'approche suivante, je suis incapable d'utiliser chart.get('pointID') pour identifier un point que je n'ai pas le ID. Je veux être en mesure d'identifier le point à l'aide seulement de la ID.

  • veuillez mettre à jour sur l'état du problème, si l'une des solutions a aidé à marquer en conséquence, s'il y avait quelque chose de bien vouloir envisager la possibilité de laisser un commentaire en moins.
  • Il y a une fonction addSeries à cette fin
InformationsquelleAutor djq | 2012-10-05