2015-05-04 61 views
2

我有一個多線圖,每天都會動態更新(或更多)。我知道開始和結束日期(將持續2個月)。如何僅顯示高位圖上的最後一個數據點?

我想只顯示最後一個數據輸入的點,但不是舊的。基本上,我想我的系列看起來像這樣:http://jsfiddle.net/jlbriggs/JVNjs/281/

data: [7,12,16,32,{y:64,marker:{enabled:true,radius:5,fillColor:'#c00'}}]

或者更準確地說,是這樣的:http://i.stack.imgur.com/FpQF1.jpg

問題是,我的圖表白天更新幾次。所以我想在正確的日期顯示上次更新的數據,並只顯示最後一個點。我試圖通過使用「lenght-1」來選擇系列的最後一個數據,但由於我不是JS的專家,所以它不起作用。

有沒有辦法做到這一點? 謝謝你,如果需要的話可以要求更好的解釋。我不是sur我很清楚。

+0

所以每一天,你加它應該有一個新的標誌點,而是從「前一天」標記應該消失了,是嗎? –

+0

確切的說,你是對的。 – Remi

+0

查看簡單演示http://jsfiddle.net/rjpjwve0/並讓我知道如果這是正確的。 –

回答

1

您可以將標記添加到最後一個點,然後在setInterval中,從中刪除並添加到新點。

load: function() { 

       // set up the updating of the chart each second 
       var series = this.series[0], 
        len = series.data.length; 

       //set marker on last point 
       series.data[len - 1].update({ 
        marker: { 
         enabled: true 
        } 
       }); 


       setInterval(function() { 
        var x = (new Date()).getTime(), // current time 
         y = Math.random(); 

        len = series.data.length; 

        series.data[len - 1].update({ 
         marker: { 
          enabled: false 
         } 
        }, false); 

        series.addPoint({ 
         x: x, 
         y: y, 
         marker: { 
          enabled: true 
         } 
        }, true, true); 
       }, 1000); 
      } 

例子:http://jsfiddle.net/rjpjwve0/

相關問題