google.visualization и ajax

tolstys

Новичок
здравствуйте,
необходимо строить графики без перезагрузки страницы... делаю следующим образом

с помощью ajax-запроса получаю данные в таком виде
PHP:
{
'cols':[{'type':'number','label':'value1'},{'type':'number','label':'value2'}, {'type':'number','label':'value3'}, ],
'rows':[{'c':[{'v':'0'},{'v':'0'},{'v':'0'},]},{'c':[{'v':'1'},{'v':'-100'},{'v':'-10'},]},{'c':[{'v':'2'},{'v':'118'},{'v':'7'},]},{'c':[{'v':'3'},{'v':'140'},{'v':'6'},]},{'c':[{'v':'4'},{'v':'79'},{'v':'5'},]},{'c':[{'v':'5'},{'v':'43'},{'v':'4'},]},{'c':[{'v':'6'},{'v':'19'},{'v':'3'},]},{'c':[{'v':'7'},{'v':'91'},{'v':'7'},]},{'c':[{'v':'8'},{'v':'118'},{'v':'8'},]},{'c':[{'v':'9'},{'v':'141'},{'v':'8'},]},{'c':[{'v':'10'},{'v':'216'},{'v':'12'},]},{'c':[{'v':'11'},{'v':'187'},{'v':'11'},]},{'c':[{'v':'12'},{'v':'185'},{'v':'10'},]},{'c':[{'v':'13'},{'v':'163'},{'v':'10'},]},{'c':[{'v':'14'},{'v':'158'},{'v':'9'},]},{'c':[{'v':'15'},{'v':'141'},{'v':'9'},]},{'c':[{'v':'16'},{'v':'166'},{'v':'9'},]},{'c':[{'v':'17'},{'v':'151'},{'v':'9'},]},{'c':[{'v':'18'},{'v':'174'},{'v':'10'},]},{'c':[{'v':'19'},{'v':'159'},{'v':'10'},]},{'c':[{'v':'20'},{'v':'146'},{'v':'10'},]},{'c':[{'v':'21'},{'v':'134'},{'v':'9'},]},{'c':[{'v':'22'},{'v':'124'},{'v':'9'},]},{'c':[{'v':'23'},{'v':'114'},{'v':'8'},]},{'c':[{'v':'24'},{'v':'105'},{'v':'8'},]},]
}
после получения данных, отдаю их функции построения графика
PHP:
success: function(data) {
     google.load("visualization", "1", {packages:["corechart"]});
     google.setOnLoadCallback(drawChart);
     drawChart(data);
}
и сама функция отрисовки
PHP:
function drawChart(data) {
    var dataTable = new google.visualization.DataTable(data);
    var options = {
       height: 500,
       width: 500
    };
    var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
    chart.draw(dataTable, options);
}
получаю ошибку: Table has no columns.

что не так и как можно исправить или, может, есть более хорошее=правильное решение?
 

tolstys

Новичок
проблему, решил
стал передавать данные массивом в формате json
затем
PHP:
var dataTable = new google.visualization.arrayToDataTable(data);
 
Сверху