2017-11-13 1 views
0

게이지 차트 업데이트 실시간 다이어트 데이터를 받고 싶습니다. 성공했습니다.라이브 업데이트 highcharts-gauge from dweet

문제는 새로운 데이터가 humidityData 배열로 푸시 될 때마다 다음과 같이 게이지 차트에 새 포인터가 추가된다는 것입니다. guage chart 대신 라이브 업데이트 포인터 하나를 갖고 싶습니다.

이전 데이터를 pop()하여 수행 할 수 있습니까?

<script language="JavaScript"> 

    //Array to store sensor data 
    var humidityData = [] 

    <!--START--> 
    $(document).ready(function() { 
     //My Dweet thing's name 
     var name = 'dweetThingName' 

     //Humidity chart 
     var setupSecondChart = function() { 

     var chart2 = { 
       type: 'gauge' 
     }; 

     var title = {...}; 

     var pane = {...}; 

     var yAxis = {...}; 

      var tooltip = { 
       formatter: function() { 
        return '<b>' + "Humidity: " + Highcharts.numberFormat(this.y, 2) + "%"; 
       } 
      }; 

      //Series_Humidity 
      humiditySeries = [{ 
       name: 'Humidity %', 
       data: humidityData, 
        tooltip: { 
         valueSuffix: '%' 
        } 
      }] 

      //Json_Humidity 
      var humJson = {}; 
      humJson.chart = chart2; 
      humJson.title = title; 
      humJson.tooltip = tooltip; 
      humJson.xAxis = xAxis; 
      humJson.yAxis = yAxis; 
      humJson.legend = legend; 
      humJson.exporting = exporting; 
      humJson.series = humiditySeries; 
      humJson.plotOptions = plotOptions; 

      console.log("Sereies: : " +humJson) 
      //Container_Humidity 
      $('#containerHumidity').highcharts(humJson); 
     } 

     var humiditySeries = [] .... 

     dweetio.get_all_dweets_for(name, function(err, dweets){ 
      for(theDweet in dweets.reverse()) 
      { 
       var dweet = dweets[theDweet]; 
       //Dweet's variables' names 
       val2 = dweet.content["Humidity"] 
       //Add the vals into created arrayDatas 
       humidityData.push(val2) 
       console.log("HumidityData: " + humidityData) 
      } 
      //Call other charts 
      setupSecondChart() 

     }); 

답변

-1

차트를 초기화/업데이트 할 때 data 배열에 요소가 하나만 포함되어 있는지 확인하십시오. 다이얼은 에 대해이 배열에 점마다 만들어집니다 (플롯에서 시각화하기 위해).

+0

내 질문에 답변 해 주셔서 감사합니다. 예, 배열의 최신 요소를 가져 오기 위해 'data : humidityData [humidityData.length-1]'을 시도했지만 작동하지 않습니다. – Sarah

+0

'data'는 배열이어야합니다. 이 코드를 사용해보십시오 :'data : [humidityData [humidityData.length-1]]' –

+0

이 줄은 실시간 업데이트에 도움이되지는 않지만 페이지를 새로 고침 할 때마다 최신 핀만 보여줍니다. 원본보다 좋습니다. 고맙습니다. – Sarah