Есть такой код для создания графика на основе google charts:
google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Date', 'Sales', 'Expenses', 'Expenses2'],
[new Date(2001,01,01), 1000, 400, 200],
[new Date(2002,01,01), 1170, 460, 100],
[new Date(2003,01,01), 660, 1120, 500],
[new Date(2004,01,01), 1030, 540, 120],
[new Date(2005,01,01), 1030, 540, 300],
]);
var options = {
title: '',
curveType: 'function',
height: 500
};
var chart = new google.visualization.LineChart(document.getElementById('curve_chart'));
chart.draw(data, options);
}
Подскажите, как я могу передавать данные для построения графика в функцию drawChart()?
дело в том, что у меня много разных графиков на одной странице, и я в цикле их вывожу.
хотелось бы делать вызов фукнции drawChart() передавая туда данные и id графика. Но как только передаю данные вот таким способом:
data = [
['Date', 'Sales', 'Expenses', 'Expenses2'],
[new Date(2001,01,01), 1000, 400, 200],
[new Date(2002,01,01), 1170, 460, 100],
[new Date(2003,01,01), 660, 1120, 500],
[new Date(2004,01,01), 1030, 540, 120],
[new Date(2005,01,01), 1030, 540, 300],
];
google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawChart(data));
function drawChart(data) {
data = google.visualization.arrayToDataTable(data);
...
У меня вылетает ошибка:
Uncaught TypeError: Cannot read property 'arrayToDataTable' of undefined