对象结构在内部改变

时间:2015-06-25 03:30:02

标签: javascript highcharts

我正在尝试从一个对象填充Highcharts。图表最初加载正常,但随后源对象发生了变化。如果您愿意检查JSFiddle代码并执行以下操作,那么说起来有点难以理解:

点击Button1 =>图表按预期加载数据[687, 687]

点击Button2 =>图表按预期加载数据[546, 546]

再次点击Button1 =>没有任何结果,因为getAllData.T1.C1.M1现已从[687, 687]更改为[Object, Object]

再次点击Button2 =>图表按预期加载数据[546, 546](请参阅下面的console.log输出)。

有人可以解释一下吗?

JSFiddle

以下是每次点击按钮时我在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]

2 个答案:

答案 0 :(得分:2)

正如我在评论中所提到的,您需要将Series.setData updatePoints 参数设置为false,以防止Highcharts简单地更新现有数据点(它会执行此操作你的数据集长度相同)。

这样的东西应该足够并保留动画。

chart.series[0].setData(data[0], false, false, false);
chart.redraw();

JSFiddle

答案 1 :(得分:0)

updatePoint方法中必定存在错误。 试试这个:chart.series[0].setData(data[0], true, false, false);(数据,重绘,动画,updatePoints)