2013-03-03 1 views
1

, поэтому я возился с YQL, чтобы узнать, могу ли я захватить некоторые данные из github, чтобы создать некоторые динамические диаграммы с Flot.Обработка некоторых данных участия github с помощью YQL, flot & jquery, но JSON не сотрудничает с

В консоли 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, но у меня возникают проблемы с отображением данных.

мой 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'); 
    }, 
}); 

});

Есть ли разумное решение, которое я просто пропущу из-за недостатка сна и смотрю на код в течение нескольких часов, пробуя различные вещи?

+0

@DNS нормально, обновление кода с: myData.push ({ неделю: d1, совершает: d2 }); , когда i console.log (myData) возвращается 52 [object Object]'s часть проблемы здесь заключается в том, что флот, похоже, терпит неудачу. пустая диаграмма рисуется без данных –

+0

, вы используете сервер для вывода данных из YQL? Можно сделать прямой запрос для этого в jsonp из YQL с javascript. Не обязательно создавать новые 'var myData' на каждом проходе, как указано @DNS – charlietfl

+0

Я могу сделать запрос jsonp yql, я только что сохранил данные локально, чтобы не запускать никаких ограничений по скорости, когда я выполнял итерацию кода –

ответ

0

Дополнительная информация о том, как это происходит, была бы полезной, но одна вещь, которая выпрыгивает на меня, заключается в том, что вы меняете myData на каждой итерации своего цикла, и поэтому он всегда содержит только один datapoint. Вы уже создаете myData как массив в верхней части своей готовой функции, поэтому все, что вам нужно сделать в цикле, - это вставлять данные в него.