One possible solution:
function drawChart() {
var data = new google.visualization.DataTable();
var arrayCycleName = ['Cycle_1', 'Cycle_3', 'Cycle_3'];
var arrayModNames = ['mod_1', 'mod_2', 'mod_3', 'mod_4'];
var arrayCycle_1_Data = [50,30,10,15];
var arrayCycle_2_Data = [40,20,42,44];
var arrayCycle_3_Data = [30,34,36,40];
var arrayCycles = [arrayCycle_1_Data, arrayCycle_2_Data, arrayCycle_3_Data]
data.addColumn('string', 'CycleName');
for (var i = 0; i < arrayCycleName.length; ++i) {
data.addColumn('number', arrayCycleName[i]);
}
for (var i = 0; i < arrayModNames.length; ++i) {
var row = [];
row.push(arrayModNames[i]);
for (var j = 0; j < arrayCycles.length; ++j) {
row.push(arrayCycles[j][i]);
}
console.log(row);
data.addRow(row);
}
console.log(data);
var options = {
title: 'charts',
vAxis: {
minValue: 0
}
};
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
See example at jsbin.