Google 图表:仪表图在几秒后变为最大值
Google Charts: Gauge-Graph changes to max value after seconds
我正在使用 Google 图表 API 进行一个小学生项目(将温度从 Raspberry Pi 发送到服务器)。在来自我的服务器的 HTML-Response 中,返回了一个仪表图。一切正常,除了一件小事:大约 10 秒后,两个仪表中的第一个跳到最大值(一个很高的值,不属于数据集)。
在另一个项目中,我已经遇到了同样的错误(有 4 个仪表图)。奇怪的是,它总是只发生在第一个仪表图上。
你可以自己在http://141.28.105.163/records下看到...大约10秒后,第一个图表从大约21跳到51或类似的东西。
这是代码:
<html>
<head>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {'packages':['gauge']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Label', 'Value'],
['Min', 17],
['Max', 23]
]);
var options = {
minorTicks: 10,
min: 0,
max: 40
};
var chart = new google.visualization.Gauge(document.getElementById('temp_chart'));
setInterval(function() {
data.setValue(0, 1, 40 + Math.round(60 * Math.random()));
chart.draw(data, options);
}, 13000);
chart.draw(data, options);
}
</script>
</head>
<body>
<div id="temp_chart" style="width: 100%; height: 100%"></div>
</body>
</html>
谢谢,就是这样。这是我刚刚从 Google:
复制粘贴的全部内容
setInterval(function() {
data.setValue(0, 1, 40 + Math.round(60 * Math.random()));
chart.draw(data, options);
}, 13000);
没有它也能完美工作!
我正在使用 Google 图表 API 进行一个小学生项目(将温度从 Raspberry Pi 发送到服务器)。在来自我的服务器的 HTML-Response 中,返回了一个仪表图。一切正常,除了一件小事:大约 10 秒后,两个仪表中的第一个跳到最大值(一个很高的值,不属于数据集)。
在另一个项目中,我已经遇到了同样的错误(有 4 个仪表图)。奇怪的是,它总是只发生在第一个仪表图上。
你可以自己在http://141.28.105.163/records下看到...大约10秒后,第一个图表从大约21跳到51或类似的东西。
这是代码:
<html>
<head>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {'packages':['gauge']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Label', 'Value'],
['Min', 17],
['Max', 23]
]);
var options = {
minorTicks: 10,
min: 0,
max: 40
};
var chart = new google.visualization.Gauge(document.getElementById('temp_chart'));
setInterval(function() {
data.setValue(0, 1, 40 + Math.round(60 * Math.random()));
chart.draw(data, options);
}, 13000);
chart.draw(data, options);
}
</script>
</head>
<body>
<div id="temp_chart" style="width: 100%; height: 100%"></div>
</body>
</html>
谢谢,就是这样。这是我刚刚从 Google:
复制粘贴的全部内容setInterval(function() {
data.setValue(0, 1, 40 + Math.round(60 * Math.random()));
chart.draw(data, options);
}, 13000);
没有它也能完美工作!