我需要将我从外汇提供商那里收到的点动态添加到 Shield UI 图表中。根据文档,不可能动态添加点至少没有这样的方法,比如:AddPoint 或类似的。我怎样才能仍然使用 Shield UI Chart 来实现一个网页,它不断显示几个汇率?
问问题
123 次
1 回答
0
没错,Shield UI Chart 没有 addPoints 方法。但是,我们可以将传入的数据值添加到数组中。您可能会发现以下代码很有用:
我们需要一些数组——我们需要展示多少。
var EURUSD = new Array(); var USDCAD = new Array(); var GBPUSD = new Array();
在函数体中,将实际显示数据,我们将有以下代码:
EURUSD[EURUSD.length] = parseFloat(data.ticks.EURUSD); USDCAD[USDCAD.length] = parseFloat(data.ticks.USDCAD); GBPUSD[GBPUSD.length] = parseFloat(data.ticks.GBPUSD);
它实际上会将新数据放入指定的数组中。您可以注意到,每次接收到数据时,都会将其添加到每个数组的最后一个索引中:
EURUSD.length
由于我们不希望我们的数组变得太大,因此最好指定我们需要保留多少点。一旦达到该限制,我们将删除最旧的点:
if (EURUSD.length > 50) EURUSD = EURUSD.splice(1, 49); if (USDCAD.length > 50) USDCAD = USDCAD.splice(1, 49); if (GBPUSD.length > 50) GBPUSD = GBPUSD.splice(1, 49);
最后,我们需要重新创建图表,引用适当的容器:
var containter = $("#EURUSDChart").swidget(); containter.destroy();
然后再次创建图表。
于 2013-07-23T15:43:46.970 回答