如何使用 for 循环将行动态添加到 Google 图表
How To dynamically Add row To Google Chart with for loop
我在 Google 图表中遇到问题。
我正在使用 asp.net Mvc。从控制器获取数据后,我将其传递到 Google 图表。
当我使用手动数据时,例如:
['Month', 'Bolivia', 'Ecuador', 'Madagascar', 'Papua New Guinea', 'Rwanda', 'Average'],
['2004/05', 165, 938, 522, 998, 450, 614.6],
它正确地显示了我。
但是如何将我的数据动态添加到 Google 图表中?
这是我的代码:
for (var i = 0; i < chartsdata.length; i++) {
var data = google.visualization.arrayToDataTable([
['Element', 'Density', {role: 'style'}],
[chartsdata[i].MonthValue, chartsdata[i].CountValue, '#b87333']
]);
var options = {
title: ''
};
var chart = new google.visualization.ComboChart(document.getElementById('chartdiv'));
chart.draw(data, options);
}
您的做法是 wrong.You 应该执行如下操作:
var data=[];
var Header= ['Element', 'Density', { role: 'style' }];
data.push(Header);
for (var i = 0; i < chartsdata.length; i++) {
var temp=[];
temp.push(chartsdata[i].MonthValue);
temp.push(chartsdata[i].CountValue);
data.push(temp);
}
var chartdata = new google.visualization.arrayToDataTable(data);
您可以使用“google.visualization.DataTable()
”及其“addRow()
”Google code
var data = new google.visualization.DataTable();
data.addColumn('string', 'Month');
data.addColumn('number', 'Count');
for (var i = 0; i < chartsdata.length; i++) {
data.addRow([chartsdata[i].month, chartsdata[i].count]);
}
为我解决了:
var data=[];
var Header= ['Element', 'Density', { role: 'style' }];
data.push(Header);
for (var i = 0; i < chartsdata.length; i++) {
var temp=[];
temp.push(chartsdata[i].MonthValue);
temp.push(chartsdata[i].CountValue);
temp.push("red"); //this will change based on value of 'i' variable
data.push(temp);
}
var chartdata = new google.visualization.arrayToDataTable(data);
我在 Google 图表中遇到问题。
我正在使用 asp.net Mvc。从控制器获取数据后,我将其传递到 Google 图表。
当我使用手动数据时,例如:
['Month', 'Bolivia', 'Ecuador', 'Madagascar', 'Papua New Guinea', 'Rwanda', 'Average'],
['2004/05', 165, 938, 522, 998, 450, 614.6],
它正确地显示了我。
但是如何将我的数据动态添加到 Google 图表中?
这是我的代码:
for (var i = 0; i < chartsdata.length; i++) {
var data = google.visualization.arrayToDataTable([
['Element', 'Density', {role: 'style'}],
[chartsdata[i].MonthValue, chartsdata[i].CountValue, '#b87333']
]);
var options = {
title: ''
};
var chart = new google.visualization.ComboChart(document.getElementById('chartdiv'));
chart.draw(data, options);
}
您的做法是 wrong.You 应该执行如下操作:
var data=[];
var Header= ['Element', 'Density', { role: 'style' }];
data.push(Header);
for (var i = 0; i < chartsdata.length; i++) {
var temp=[];
temp.push(chartsdata[i].MonthValue);
temp.push(chartsdata[i].CountValue);
data.push(temp);
}
var chartdata = new google.visualization.arrayToDataTable(data);
您可以使用“google.visualization.DataTable()
”及其“addRow()
”Google code
var data = new google.visualization.DataTable();
data.addColumn('string', 'Month');
data.addColumn('number', 'Count');
for (var i = 0; i < chartsdata.length; i++) {
data.addRow([chartsdata[i].month, chartsdata[i].count]);
}
为我解决了:
var data=[];
var Header= ['Element', 'Density', { role: 'style' }];
data.push(Header);
for (var i = 0; i < chartsdata.length; i++) {
var temp=[];
temp.push(chartsdata[i].MonthValue);
temp.push(chartsdata[i].CountValue);
temp.push("red"); //this will change based on value of 'i' variable
data.push(temp);
}
var chartdata = new google.visualization.arrayToDataTable(data);