1

所以我在搞乱 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"
  }
 ]
}
}
}

count 是 52,它是针对项目提交的滚动 52 周跟踪。我只是想用这个 JSON 输出的浮点数创建一个条形图,但我在渲染数据时遇到了麻烦。

我的 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');
    },
});

});

是否有一个合理的解决方案,我只是因为缺乏睡眠和盯着代码几个小时尝试各种事情而错过了?

4

1 回答 1

0

有关如何失败的更多信息会有所帮助,但让我感到震惊的一件事是,您在循环的每次迭代中都在重置 myData,因此它始终只包含一个数据点。您已经在准备好的函数顶部将 myData 创建为数组,因此您在循环中要做的就是将数据推送到其中。

于 2013-03-03T22:21:30.690 回答