我需要的是将我从外汇提供商处收到的积分动态添加到盾牌UI图表中。根据文档,没有动态添加点的可能性至少没有这样的方法,例如:AddPoint或类似的。 我怎样才能使用Shield UI Chart来实现一个网页,它可以不断显示几种汇率?
答案 0 :(得分: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();
然后再次创建图表。