Gráfico de línea en tiempo real con nvd3.js

Estoy intentando crear un gráfico en tiempo real utilizando nvd3.js que se actualizaría periódicamente y con la impresión de que los datos se procesan en tiempo real.

Por ahora, he podido crear una función que actualizaría el gráfico periódicamente pero no puedo lograr una transición suave entre "estados" como la línea que está haciendo una transición a la izquierda.

aquí Es lo que hice usando nvd3.js, aquí el código interesante es:

d3.select('#chart svg')
    .datum(data)
    .transition().duration(duration)
    .call(chart);

Ahora, he podido producir lo que quiero usando d3.js pero preferiría poder usar todas las herramientas proporcionadas por nvd3.js.aquí es lo que me gustaría producir usando nvd3

El código interesante para la transición usando d3.js es:

function tick() {

    // update the domains
    now = new Date();
    x.domain([now - (n - 2) * duration, now - duration]);
    y.domain([0, d3.max(data)]);

    // push the accumulated count onto the back, and reset the count
    data.push(Math.random()*10);
    count = 0;

    // redraw the line
    svg.select(".line")
        .attr("d", line)
        .attr("transform", null);

    // slide the x-axis left
    axis.transition()
        .duration(duration)
        .ease("linear")
        .call(x.axis);

    // slide the line left
    path.transition()
        .duration(duration)
        .ease("linear")
        .attr("transform", "translate(" + x(now - (n - 1) * duration) + ")")
        .each("end", tick);

    // pop the old data point off the front
    data.shift();

}

Respuestas a la pregunta(1)

Su respuesta a la pregunta