【发布时间】:2013-07-23 09:58:36
【问题描述】:
我需要将我从外汇提供商那里收到的积分动态添加到 Shield UI 图表中。根据文档,动态添加点是不可能的,至少没有这样的方法,比如:AddPoint 或类似的。 如何仍然使用 Shield UI Chart 实现网页,不断显示几个汇率?
【问题讨论】:
标签: shieldui
我需要将我从外汇提供商那里收到的积分动态添加到 Shield UI 图表中。根据文档,动态添加点是不可能的,至少没有这样的方法,比如:AddPoint 或类似的。 如何仍然使用 Shield UI Chart 实现网页,不断显示几个汇率?
【问题讨论】:
标签: shieldui
你说得对,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();
然后再次创建图表。
【讨论】: