2017-01-08 4 views
1

Google Charts API를 사용하여 약간의 학생 프로젝트 (라즈베리 파이에서 서버로 온도 전송)를 진행하고 있습니다. 내 서버의 HTML 응답 내에서 게이지 그래프가 반환됩니다. 하나의 작은 것을 제외하면 모든 것이 잘 작동합니다. 약 10 초 후에 두 게이지 중 첫 번째 게이지가 최대 값 (높은 값이며 데이터 세트의 일부가 아닌 값)으로 이동합니다.Google 차트 : 초 후 최대 값으로 게이지 그래프가 변경됩니다.

다른 프로젝트에서 이미 동일한 오류가 발생했습니다 (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> 
+1

40 + Math.round (60 * Math.random()). 무엇을해야합니까? –

+0

고마워, 그 모든 부분은 불필요한거야! – pixelstuermer

답변

0

감사 :

는 그리고 이것은 코드입니다. 그것없이 완벽하게

setInterval(function() { 
    data.setValue(0, 1, 40 + Math.round(60 * Math.random())); 
    chart.draw(data, options); 
}, 13000); 

작품 : 그것은 그냥 구글에서 붙여 & 복사 전체 부분이었다!

+0

이해가 없으면 복사 + 붙여 넣기가 절대로 좋지 않습니다 ... –

+0

사실, 처음에는 빠르고 & 더러운 작업을해야했습니다 ;-) – pixelstuermer