Je souhaite ajouter une série à un diagramme de dispersion de haut diagramme dans lequel j'appelle chaque point de la série. Je crée un tableau de la façon suivante:Ajout de données à un diagramme de haut diagramme à l'aide d'un tableau avec des ID
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 le graphique 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 graphique en utilisant cette approche où chaque point a un ID?
EDIT:
Juste pour clarifier les choses, je voudrais pouvoir passer les tableaux directement, plutôt que d'ajouter le point de données par point à l'aide addPoint()
. Je pourrais boucle à travers un tableau et utiliser addPoint()
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, ce qui est très lent. Il est beaucoup plus rapide d'ajouter des données en utilisant 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 la seule façon que je peux accéder au id
lorsque le point est sélectionné, passe 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 défini le ID
. Je veux être en mesure d'identifier le point en utilisant seulement le ID
.
s'il vous plaît 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 envisager de laisser un commentaire au moins. –
Il existe une fonction addSeries à cet effet – RomanTheGreat