【发布时间】:2017-01-08 14:14:17
【问题描述】:
我正在使用 Google Charts API 进行一个小型学生项目(将温度从 Raspberry Pi 发送到服务器)。在我的服务器的 HTML 响应中,返回一个仪表图。一切正常,除了一件小事:大约 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>
【问题讨论】:
-
40 + Math.round(60 * Math.random())。那应该怎么做?
-
谢谢,整个部分是不必要的!
标签: javascript graph charts google-visualization gauge