0

我需要将我从外汇提供商那里收到的点动态添加到 Shield UI 图表中。根据文档,不可能动态添加点至少没有这样的方法,比如:AddPoint 或类似的。我怎样才能仍然使用 Shield UI Chart 来实现一个网页,它不断显示几个汇率?

4

1 回答 1

0

没错,Shield UI Chart 没有 addPoints 方法。但是,我们可以将传入的数据值添加到数组中。您可能会发现以下代码很有用:

  1. 我们需要一些数组——我们需要展示多少。

        var EURUSD = new Array();
        var USDCAD = new Array();
        var GBPUSD = new Array();
    
  2. 在函数体中,将实际显示数据,我们将有以下代码:

        EURUSD[EURUSD.length] = parseFloat(data.ticks.EURUSD);
        USDCAD[USDCAD.length] = parseFloat(data.ticks.USDCAD);
        GBPUSD[GBPUSD.length] = parseFloat(data.ticks.GBPUSD);
    

    它实际上会将新数据放入指定的数组中。您可以注意到,每次接收到数据时,都会将其添加到每个数组的最后一个索引中:

     EURUSD.length 
    
  3. 由于我们不希望我们的数组变得太大,因此最好指定我们需要保留多少点。一旦达到该限制,我们将删除最旧的点:

                    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);
    
  4. 最后,我们需要重新创建图表,引用适当的容器:

                    var containter = $("#EURUSDChart").swidget();
                    containter.destroy();
    

然后再次创建图表。

于 2013-07-23T15:43:46.970 回答