2013-03-07 99 views
0

我有一個可以動態更新的折線圖。我想在最後一點添加標記。當圖表滾動並添加新點時,我想刪除上一個標記並將其添加到最近的點。因此這個折線圖的「尖端」只會有一個標記。如何僅在動態高圖的末尾添加標記?

任何幫助將不勝感激。

+0

通過標記你是指類似於highstocks中使用的標誌? http://www.highcharts.com/stock/demo/flags-placement – Robodude 2013-03-07 18:03:29

回答

4

您可以在plotOptions禁用標記,然後你想要的標誌出現在點,將數據作爲對象,像這樣:

http://jsfiddle.net/jlbriggs/JVNjs/281/

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

你可以禁用除最後一個點以外的每個點的標記。

在啓動:

series: [{ 
    name: 'Random data', 
    data: (function() { 
     // generate an array of random data 
     var data = [], 
      time = (new Date()).getTime(), 
      i; 

     for (i = -19; i <= 0; i += 1) { 
      data.push({ 
       x: time + i * 1000, 
       y: Math.random(), 
       marker: { 
        enabled: i === 0 
       } 
      }); 
     } 
     return data; 
    }()) 
}] 

,並在新點前的最後一點禁用標記添加:

 events: { 
     load: function() { 

      // set up the updating of the chart each second 
      var series = this.series[0]; 
      setInterval(function() { 
       var x = (new Date()).getTime(), // current time 
        y = Math.random(); 
       series.data[series.data.length - 1].update({ 
        marker: { enabled: false } 
       }, false) 
       series.addPoint([x, y], true, true); 
      }, 1000); 
     } 
    } 

你可以試試這個。 http://jsfiddle.net/687215jj/2/