2013-07-08 2 views
4

Я хочу реализовать скользящее среднее значение в hightchart. Есть ли какой-либо вариант в highchart для этого.как реализовать скользящее среднее в highchart

Как: У меня есть серии 10, 20, 30, 40, 50, 60, 70

и хотите скользящее среднее 2

затем второй серии будет генерировать на средних значений серии 1

, как: 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
Вот ссылка на источник яваскрипта, что вам нужно включить:
https://rawgit.com/laff/technical-indicators/master/technical-indicators.src.js

Он реализуется путем добавления еще одной серии к диаграмме типа: «трендовым», алгоритм : 'SMA', который относится к соответствующей серии данных по идентификатору:

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/

Смежные вопросы