2013-03-07 97 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/