【问题标题】:Dynamically add forex data points to Shield UI Chart将外汇数据点动态添加到 Shield UI 图表
【发布时间】:2013-07-23 09:58:36
【问题描述】:

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

【问题讨论】:

    标签: shieldui


    【解决方案1】:

    你说得对,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();
      

    然后再次创建图表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-27
      相关资源
      最近更新 更多