首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用带有股票价格行情提要数据的Envision.js创建基于网络的数据图表组件

使用带有股票价格行情提要数据的Envision.js创建基于网络的数据图表组件
EN

Stack Overflow用户
提问于 2014-03-04 15:33:16
回答 1查看 364关注 0票数 0

我正在尝试创建一个使用Envision.js的数据图表组件的web应用程序。正在使用的数据是JSON格式的股票价格行情提要。我已经使用ajax jquery调用形成了一个标准的财务折线图(Envision finance模板),用于获取报价器数据并在X-Y轴上应用数据。

但要求是创建一个实时图表,它将随着时间的推移自动更新与所有子图详细信息的股票数据。以下是股票图表应用程序的代码:

代码语言:javascript
复制
(function ajax_demo (container) {

  // Get initial data
  $.getJSON('static/stockTicker.json', function (initialData) {
    var
      currentData = initialData,
      options, finance;

    options = {
      container : container,
      data : {
        price : currentData.price,
        volume : currentData.volume,
        summary : currentData.summary
      },
      trackFormatter : function (o) {

        var
          index = o.index,
          value;

        value = currentData.data[index].date + ': $' + currentData.price[index][1] + ", Vol: " + currentData.volume[index][1];

        return value;
      },
      // An initial selection
      selection : {
        data : {
          x : {
            min : 0,
            max : 250
          }
        }
      },
      // Override some defaults.
      // Skip preprocessing to use flotr-formatted data.
      defaults : {
        volume : {
          skipPreprocess : true
        },
        price : {
          skipPreprocess : true
        },
        summary : {
          skipPreprocess : true,
          config : {
            xaxis : {
              // Set x ticks manually with defaults override:
              ticks : currentData.summaryTicks
            }
          }
        }
      }
    };

    // Set the selection callback:

    options.selectionCallback = (function () {

      var data = {
        initial : initialData,
        fetched : null
      };

      // Helper for fetching high resolution data
      function fetchData (o) {
        $.getJSON('static/stockSample.json', function (fetchedData) {
          data.fetched = fetchedData;
          currentData = fetchedData;
          finance.price.options.data = data.fetched.price;
          finance.volume.options.data = data.fetched.volume;
          _.each(finance.selection.followers, function (follower) {
            follower.trigger('zoom', o);
          }, this);
        });
      }

      // Selection callback:
      return function (selection) {

        if (finance) {
          var
            x = selection.data.x;

          if (x.max !== null && Math.abs(x.max - x.min) < 250) {
            if (data.fetched) {

              // Use high resolution data, if available
              finance.price.options.data = data.fetched.price;
              finance.volume.options.data = data.fetched.volume;
              currentData = data.fetched;
            } else {

              // Fetch high resolution data
              fetchData(selection);
            }
          } else {

            // Use low resolution data
            finance.price.options.data = data.initial.price;
            finance.volume.options.data = data.initial.volume;
            currentData = data.initial;
          }
        }
      }
    })();

    finance = new envision.templates.Finance(options);
  });
}
)(document.getElementById("Demo")); 

我找不到任何示例可以将Envision.js中的股票图表与随特定时间更新的动态股票价格数据集成在一起。我应该使用Spring mvc还是普通的servlet来让它工作?

请帮帮我!

EN

回答 1

Stack Overflow用户

发布于 2014-10-18 14:28:32

您可以使用“在特定时间间隔后刷新”功能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22165638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档