我正在使用Google图表,我想用数据数组创建一个简单的条形图。如果我像这样手动写出数据数组,则图表工作正常:
var data = [['Municipality', 'CWR', {role: 'style'}],
['Kleinharras', 4.15,'color: #e5e4e2'],
['Stillfried', 4.87,'color: #e5e4e2'],
['Grub an der March', 4.95,'color: #e5e4e2'],
['Großschweinbarth', 3.92,'color: #e5e4e2'],];
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable(data);
var options = {
title: 'Crop Water Requirement [mm]',
vAxis: {title: 'Municipality', titleTextStyle: {color: 'black'}}
};
var chart = new google.visualization.BarChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
但是,如果我想通过循环自动创建数据数组,则该数组不起作用,并且该图表也不会显示:
var data = [['Municipality', 'CWR', {role: 'style'}]];
for (i = 0; i < valuesx.length; i++) {
data[i + 1] = [valuesx[i], valuesy[i], 'color: #e5e4e2'];
}
如果我打印出两个数组,它们看起来是相同的,但是由于某种原因,谷歌图表不接受第二个数据数组。有什么建议?
我使它起作用,但我真的不知道为什么它起初没有起作用。用循环构造数组后(请参见上面的代码),我将执行以下操作:
var data = google.visualization.arrayToDataTable(data);
如您所见,我正在从数组中创建一个名为data的新变量,该变量也称为data。这是发生错误的地方。
如果我只是简单地重命名数据数组,即重命名为data2,如下所示:
var data2 = [['Municipality', 'CWR', {role: 'style'}]];
for (i = 0; i < valuesx.length; i++) {
data2[i + 1] = [valuesx[i], valuesy[i], 'color: #e5e4e2'];
}
并运行以下命令:
var data = google.visualization.arrayToDataTable(data2);
图表最终显示出来。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句