For some reason i cant add any row, tried a lot of possibilities and still didnt worked.
Code below:
google.charts.load('current', { 'packages': ['corechart'] });
var dataChart1 = new google.visualization.arrayToDataTable();
dataChart1.addColumn('string', 'Mês');
dataChart1.addColumn('number', 'Fora Ponta');
dataChart1.addColumn('number', 'Geração Solar');
dataChart1 = addRows([
['JAN', $('#janConsumo').val(), 300],
['FEV', $('#fevConsumo').val(), 350],
['MAR', $('#marConsumo').val(), 400],
['ABR', $('#abrConsumo').val(), 350],
['MAI', $('#maiConsumo').val(), 300],
['JUN', $('#junConsumo').val(), 350],
['JUL', $('#julConsumo').val(), 350],
['AGO', $('#agoConsumo').val(), 450],
['SET', $('#setConsumo').val(), 400],
['OUT', $('#outConsumo').val(), 350],
['NOV', $('#novConsumo').val(), 300],
['DEZ', $('#dezConsumo').val(), 250]
]);
var optionsChart1 = {
titlePosition: 'none',
legend: {
position: "bottom"
},
seriesType: 'bars',
series: { 1: { type: 'line' } },
height: 300,
width: 800,
colors: ['orange', 'red']
};
chart = new google.visualization.ComboChart(document.getElementById('chart_div'));
chart.draw(dataChart1, optionsChart1);
I have a button that calls this code.
The error that i got:
Uncaught Error: Data for arrayToDataTable is not an array.
for one, need to wait until google has finished loading.
you can use the promise the load statement returns, see following snippet...
google.charts.load('current', {
packages: ['corechart']
}).then(function () {
var dataChart1 = new google.visualization.DataTable();
dataChart1.addColumn('string', 'Mês');
dataChart1.addColumn('number', 'Fora Ponta');
dataChart1.addColumn('number', 'Geração Solar');
dataChart1.addRows([
['JAN', $('#janConsumo').val(), 300],
['FEV', $('#fevConsumo').val(), 350],
['MAR', $('#marConsumo').val(), 400],
['ABR', $('#abrConsumo').val(), 350],
['MAI', $('#maiConsumo').val(), 300],
['JUN', $('#junConsumo').val(), 350],
['JUL', $('#julConsumo').val(), 350],
['AGO', $('#agoConsumo').val(), 450],
['SET', $('#setConsumo').val(), 400],
['OUT', $('#outConsumo').val(), 350],
['NOV', $('#novConsumo').val(), 300],
['DEZ', $('#dezConsumo').val(), 250]
]);
var optionsChart1 = {
titlePosition: 'none',
legend: {
position: "bottom"
},
seriesType: 'bars',
series: { 1: { type: 'line' } },
height: 300,
width: 800,
colors: ['orange', 'red']
};
chart = new google.visualization.ComboChart(document.getElementById('chart_div'));
chart.draw(dataChart1, optionsChart1);
});
also, in this situation, you'll want to use --> google.visualization.DataTable()
not --> google.visualization.arrayToDataTable()
see arrayToDataTable
for more details...
arrayToDataTable
expects the data to be passed when it is called.