我想将一个系列添加到一个高图散点图中,我在其中命名系列中的每个点。我通过以下方式创建图表:
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
.