我想將一系列數據添加到高分佈圖散點圖,我在這裏命名系列中的每個點。我創建以下列方式圖表:使用帶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
}]
}]
});
}
我想能夠使用類似更新圖上的點:
chart.series[0].setData([{id:['point3', 'point4', 'point5'], y:[0,1,2], x:[1,2,3]}])
,但這是不正確的。是否有可能使用這種方法更新圖表,每個點都有一個ID?
編輯:
只是爲了澄清,我想能夠直接傳遞的陣列,而不是使用addPoint()
添加由點的數據點。我可以遍歷數組並用addPoint()
做這樣的事情:
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]
});
}
然而,這是非常緩慢的。這是更快的使用以下方法來添加數據:
chart.series[0].setData([[1,0],[2,1],[3,2]]);
我發現,我可以這樣添加數據:
chart.series[0].setData([[1,0, 'point3'],[2,1, 'point4'],[3,2, 'point5']]);
但隨後的唯一途徑,我可以訪問id
當點被選中,通過this.point.config[2]
。採用以下方法,我無法使用chart.get('pointID')
來識別點,因爲我沒有設置ID
。我希望能夠使用ID
來識別點。
請更新問題的狀態,如果有任何解決方案幫助標記相應,如果有什麼好心的考慮留下評論至少。 –
有一個函數addSeries爲此目的 – RomanTheGreat