我收到一个引用错误,data1
未定义,我的表单可见,我可以看到我制作的 3 个圆圈。但是当我想更新它时,我收到引用错误。
这是我正在工作的绘图代码:
google.load('visualization', '1', {packages:['gauge']});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data1 = google.visualization.arrayToDataTable([
['Label', 'Value'],
['A', 0],
]);
var data2 = google.visualization.arrayToDataTable([
['Label', 'Value'],
['B', 0]
]);
var data3 = google.visualization.arrayToDataTable([
['Label', 'Value'],
['C', 0]
]);
var options1 = {
width: 150, height: 170,
min:0, max:200,
minorTicks: 5
};
var options2 = {
width: 150, height: 170,
min:0, max:7000,
minorTicks: 5
};
var options3 = {
width: 150, height: 170,
min:0, max:30,
minorTicks: 5
};
var chart = new google.visualization.Gauge(document.getElementById('visualization1'));
var chart2 = new google.visualization.Gauge(document.getElementById('visualization2'));
var chart3 = new google.visualization.Gauge(document.getElementById('visualization3'));
chart.draw(data1, options1);
chart2.draw(data2, options2);
chart3.draw(data3, options3);
}
这是我用来向data1
添加新值的函数
function changeSpeed(dir) {
console.log(dir);
data1.setValue(0, 0, dir);
chart.draw(data1, options1);
}
可能我的函数设置不正确。
变量
options1
、options2
和options3
,也data1
、data2
和data3
在局部范围内定义。你需要像这样改变你的功能:
function changeSpeed(dir, options, data) {
data.setValue(0, 0, dir);
chart.draw(data, options);
}
并使用它:
changeSpeed(dir, options1, data1);
或者,您可以在全局范围内定义变量。