Ответ 1
Ваш первый элемент finalData
array должен быть 2-элементным массивом:
var finalData = [['Date', 'SessionLength']];
У меня есть текущий код, который пытается построить 2d-массив для графиков Google.
Однако я получаю недопустимую ошибку 2D-массива.
Что я делаю неправильно? Заранее благодарю
//Request data
$.getJSON(api,function(data){
//Init final array for data
var finalData = [["SessionLength"]];
//Iterate over results
for (var key in data){
//Get the key pair
var keyPair = [key, parseInt(data[key])];
//Add to array
finalData.push(keyPair);
}
// Create the data table.
var data = google.visualization.arrayToDataTable(finalData);
// Set chart options
var options = {'title':'Average session length',
'width':400,
'height':400};
// Instantiate and draw our chart, passing in some options.
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data, options);
});
Это JSON
{"2013-8-5":"13.5","2013-7-29":"19.7","2013-8-4":"12.2","2013-8-3":"14.1","2013-8-2":"10.1","2013-7-31":"15.1","2013-7-30":"17.4","2013-8-6":"16.0","2013-8-1":"15.0"}
Ваш первый элемент finalData
array должен быть 2-элементным массивом:
var finalData = [['Date', 'SessionLength']];
Я думаю, что вы ошибаетесь в инициализации 2D-массива Вы должны просто написать
var finalData = [];
потому что var finalData = [["SessionLength"]];
создает массив, который имеет единственный элемент как [ "SessionLength" ], который является массивом из одного элемента, тогда вы добавляете массивы, которые имеют 2 элемента, поэтому на самом деле вы получаете недопустимый 2D-массив следующим образом:
[["SessionLength"], ["2013-8-5", "13.5"], ["2013-7-29","19.7"]...]