使用YQL处理一些github参与数据,flot& jquery但JSON没有合作

时间:2013-03-03 21:54:07

标签: jquery json flot yql

所以我正在搞乱YQL,看看我是否可以从github获取一些数据,用Flot创建一些动态图表。

在YQL控制台中,如果使用以下查询:

从json中选择总数,其中url =“https://github.com/twitter/bootstrap/graphs/commit-activity-data”和itemPath =“json.json”

您将获得以下JSON结构:

{
"query": {
"count": 52,
"created": "2013-03-03T19:56:17Z",
"lang": "en-US",
"results": {
 "json": [
  {
   "total": "55"
  },
  {
   "total": "64"
  },
  {
   "total": "50"
  },
  .....
  {
   "total": "24"
  }
 ]
}
}
}

计数是52,这是一个滚动52周的项目提交轨道。我只是想用这个JSON输出的flot创建一个条形图,但是我在渲染数据时遇到了问题。

我的javascript可能很乱,因为我已经掉下了一个兔子洞。我只想创建一个简单的条形图,其中包含52个条形图,表示针对项目的提交数量

$(function() {
var data = [];
var myData = [];
var placeholder = $("#placeholder");
$.ajax({
    url: "data/latest-yql.json",
    type: "GET",
    dataType: "json",
    complete: function() {
        //called when complete
        console.log('complete');
    },
    success: function(data) {
        var items = data.query.results.json;
        for (var i = 0; i < items.length; i++) {
            var d1 = i;
            var d2 = items[i].total;
            var myData = [
                [d1, d2]
            ];
        };
        $.plot($("#placeholder"), [{
            data: myData,
            bars: {
                show: true
            }
        }]);
    },
    error: function() {
        //called when there is an error
        console.log('error');
    },
});

});

是否有一个合理的解决方案,我只是因为睡眠不足而缺少这些解决方案并且在几个小时内盯着代码尝试各种各样的事情?

1 个答案:

答案 0 :(得分:0)

关于这是如何失败的更多信息会有所帮助,但有一点让我感到惊讶的是,你在循环的每次迭代中重置myData,因此它总是只包含一个数据点。您已经在ready函数的顶部创建了myData作为数组,因此您在循环中所要做的就是将数据推入其中。