Rollender / gleitender Durchschnitt in d3.js

Auf der Suche nach einer Möglichkeit, den gleitenden Durchschnitt in d3 zu zeichnen, ohne die Daten im Voraus manipulieren zu müssen. Deshalb möchte ich die Linie glätten, indem ich jeden Datenpunkt mit den beiden danach mittle. Mein Code ist so

var data = [3, 66, 2, 76, 5, 20, 1, 3, 8, 90, 2, 5, 70];

var w = 20,
    h = 80;

var x = d3.scale.linear()
    .domain([0, 1])
    .range([0, w]);
var y = d3.scale.linear()
    .domain([0, 100])
    .rangeRound([h, 0]);

var chart = d3.select("body").append("svg")
    .attr("class", "chart")
    .attr("width", w * data.length -1)
    .attr("height", h);

var line = d3.svg.line()
    .x(function(d,i) { return x(i); })
    .y(function(d) { return y(d); })


var movingAverageLine = d3.svg.line()
    .x(function(d,i) { return x(i); })
    .y(function(d) { return y(d); })

chart.append("svg:path").attr("d", line(data));
chart.append("svg:path").attr("d", movingAverageLine(data));

Kann ich movingAverageLine angeben, um den Durchschnitt der folgenden Datenpunkte zu berechnen? Ich kann mir keine Möglichkeit vorstellen, in dieser Funktion darauf zuzugreifen.

Ich habe ein Beispiel für jsfiddle erstellt.http://jsfiddle.net/tjjjohnson/XXFrg/2/#run

Antworten auf die Frage(3)

Ihre Antwort auf die Frage