2016-03-02 40 views
0

我正在创建5个单独的图表,并尝试每隔几秒更新一次新系列数据。 如果我只定义了一个创建新图表并在构造函数中添加系列数据的函数,它可以工作,但缺点是每个使用setInterval()刷新的页面都会破坏图表并重建它们,这看起来很糟糕。所以我创建了两个函数,一次调用CreateChart(),一次调用UpdateChart(),每次setInterval()刷新都调用UpdateChart()。现在,图表是空的,我得到错误的UpdateChart():javascript中的highcharts系列更新

TypeError: FlightCharts[Index].series[0] is undefined

Link to javascript code
Link to example json series data

任何提示(我是新来的JavaScript)

感谢

+1

1日提示:贴在你的问题中的代码,而不是pastebin – Raptor

+0

你可以通过你的解决方案到jsfiddle或其他的东西吗? – whois42

+0

好吧,我把这个放在https://jsfiddle.net/czvLdqq5/2/并简化了一下。 – michal

回答

1

问题是你定义的空系列:

series: [] 

下一页您要为第一系列组数据:

FlightCharts[Index].series[0] 

相反,你应该创建一个系列至少:

series: [{ 
    name: "MyName", 
    data: [] 
}] 
+0

谢谢Paweł。我确实试过了,但没有成功。 我觉得我的设置问题是我有许多系列的数组。 我把代码放在jsfiddle上https://jsfiddle.net/czvLdqq5/6/并尝试一些选项,但没有给我任何结果。 如何更新多系列? – michal

+0

只需在'seres:'数组中创建多个系列。因此,稍后您将不会参考非现有系列。 –

+0

但是,如果系列数量正在变化呢?我需要添加/删除数组元素,这就是我卡住的地方。这不适合我。 谢谢 – michal