2013-02-01 70 views

回答

3

您可以使用循環計算每組中的平均值,然後轉換位置。顯然你應該也需要關於刻度寬度的信息。

http://jsfiddle.net/rfwd9/2/

var i = 0, 
      avg, 
      yAxis = chart.yAxis[0], 
      r = chart.renderer, 
      tickWidth = chart.plotWidth/chart.series[0].data.length, 
      startX = chart.plotLeft, 
      len = chart.series[0].data.length, 
      seriesCount = chart.series.length; 


     for (i = 0; i < len; i++) { 
      avg = 0; 
      $.each(chart.series, function (j, serie) { 
       avg += serie.data[i].y; 
      }); 
      avg = Math.floor(avg/seriesCount); 

      r.path(['M', startX, chart.plotHeight - yAxis.translate(avg), 'L', startX + tickWidth, chart.plotHeight - yAxis.translate(avg)]) 
       .attr({ 
       'stroke-width': 2, 
       stroke: 'red' 
      }) 
       .add(); 
      startX = startX + tickWidth; 
     } 
+0

謝謝Sebestian!這是我正在尋找的。 – user428900

+0

請注意,如果圖表調整大小,則線條不會重新繪製並最終位於錯誤的位置。 – Chris