2013-07-08 78 views
4

均線我想實現hightchart均線。 有沒有在這方面的高圖的任何選項。如何實現highchart

喜歡:我有系列10,20,30,40,50,60,70

,並希望移動的2

然後第二系列平均將產生於一系列的平均值1

like:15,35,105(取兩個數據點的平均值)

並將此移動平均序列系列1嵌入到同一圖表中。

回答

3

無,目前HighCharts不會做任何這樣的數據分析。您需要生成自己的移動平均線,並將其創建爲自己的系列或plotLine/plotBand。

4

就可以計算出移動平均線,並添加這樣的:

$('#buttonAddSeries').click(function() { 
    var series = chart.series[0]; 
    var data = []; 
    var period = 2; 
    var sumForAverage = 0; 
    var i; 
    for(i=0;i<series.data.length;i++) { 
     sumForAverage += series.data[i].y; 
     if(i<period) { 
      data.push(null); 
     } else { 
      sumForAverage -= series.data[i-period].y; 
      data.push([series.data[i].x, sumForAverage/period]); 
     } 
    } 
    chart.addSeries({ 
     name: 'Moving Average', 
     data: data 
    }); 
}); 

可以使用任意數量的點的時期,不僅2.

1

移動平均線所使用的技術指標插件支持。它可在 http://www.highcharts.com/plugin-registry/single/16/technical-indicators
這裏是一個JavaScript源代碼的鏈接,你將需要包括:
https://rawgit.com/laff/technical-indicators/master/technical-indicators.src.js

它是通過增加另一個系列類型的圖表實施:「趨勢線」,算法: 'SMA',通過ID是指有關數據系列:

series : [ 
{ 
    name: 'AAPL Stock Price', 
    type : 'line', 
    id: 'primary', 
    data : [100,101,105,107,104,105,106,104,...] 
}, { 
    name: '15-day SMA', 
    linkedTo: 'primary', 
    showInLegend: true, 
    type: 'trendline', 
    algorithm: 'SMA', 
    periods: 15 
}] 

這裏是一個小提琴: http://jsfiddle.net/laff/WaEBc/