我正在尝试从一个对象填充Highcharts。图表最初加载正常,但随后源对象发生了变化。如果您愿意检查JSFiddle代码并执行以下操作,那么说起来有点难以理解:
点击Button1 =>图表按预期加载数据[687, 687]
。
点击Button2 =>图表按预期加载数据[546, 546]
。
再次点击Button1 =>没有任何结果,因为getAllData.T1.C1.M1
现已从[687, 687]
更改为[Object, Object]
。
再次点击Button2 =>图表按预期加载数据[546, 546]
(请参阅下面的console.log
输出)。
有人可以解释一下吗?
以下是每次点击按钮时我在Chrome中获得的console.log
。
[687, 687]
[546, 546]
[Object, Object]
0: Object
y: 687
__proto__: Object
1: Object
y: 687
__proto__: Object
length: 2
__proto__: Array[0]
[546, 546]
答案 0 :(得分:2)
正如我在评论中所提到的,您需要将Series.setData
的 updatePoints 参数设置为false
,以防止Highcharts简单地更新现有数据点(它会执行此操作你的数据集长度相同)。
这样的东西应该足够并保留动画。
chart.series[0].setData(data[0], false, false, false);
chart.redraw();
答案 1 :(得分:0)
updatePoint方法中必定存在错误。
试试这个:chart.series[0].setData(data[0], true, false, false);
(数据,重绘,动画,updatePoints)