plotting pie name library for chart javascript jquery jquery-plugins diagram jqplot

pie - plot javascript chart



Cómo animar diagramas con jQuery y jQplot(actualización de datos) (1)

Estoy "animando" diagramas a lo largo del tiempo cambiando los datos y redibujándolos.

// initialization var data = ... var targetPlot = $.jqplot(''#diagram'', data, diagramOptions);

Ahora, después de un tiempo, cambiaré los datos de alguna manera y quiero actualizar el diagrama. La siguiente solución funciona:

// update Data targetPlot.data = ...; // remove old diagram $(''#<%= "diagram" + diagram.id.to_s %>container'').empty(); // redraw targetPlot = $.jqplot(''#diagram'', data, diagramOptions);

Poco esto es un redibujado completo. Con una gran cantidad de datos y un breve intervalo, jQPlot requiere mucha memoria y el diagrama parpadea.

¿Cómo hacer esto correcto?

La solución que usa la función redraw para mí solo dibuja el diagrama anterior:

// update Data targetPlot.data = ...; targetPlot.redraw();


Esta es la forma en que encontré después de mucha investigación. Estoy escribiendo esto para ayudar a alguien a leer esta pregunta.

El lugar correcto para actualizar los datos se encuentra en la propiedad de la serie, después de actualizar los datos puede volver a dibujar el trazado:

targetPlot.series[0].data = myData; targetPlot.redraw();

Si su eje cambió, puede reescalarlos usando el replot() lugar de redraw() :

targetPlot.replot({resetAxes:true});

Esto es mucho más rápido que volver a dibujar una nueva trama cada vez.