2011-05-16 18 views
8

Hola chicos, ¿alguien sabe cómo volver a cargar un gráfico flot en JavaScript? Por ejemplo, quiero volver a dibujar el gráfico cada vez que se cambia un valor de entrada. Traté de experimentar con algunos métodos que se encuentran en el flot API, como draw() y setupGrid() sin ningún tipo de suerte.Actualizar/volver a cargar Flot en Javascript

Aquí hay un código de ejemplo:

$("#some_input_box").change(function(){ 
    plot.draw(); // redraw graph 
});  

Respuesta

28

Está en el camino correcto con draw y setupGrid, esto es lo que hay que hacer:

var plot = $.plot($('#placeholder'),data,options); 

//time passes, you now want to replot 

var newData = [[0,2],[1,3],[2,5]]; 

plot.setData(newData); 
plot.setupGrid(); //only necessary if your new data will change the axes or grid 
plot.draw(); 

alternativa, que no es mucho peor que simplemente Vuelva a llamar al $.plot. La forma anterior es más eficiente, pero ...

+0

Funcionó como un amuleto. Gracias Ryley! – dhulihan

+1

Si tiene problemas para redimensionar después de llamar a setupGrid, necesitará establecer la etiqueta Ancho/etiqueta Altura para forzar que el lienzo no ocupe todo el contenedor. –

+0

¡¡¡salvaste mi hermano de la vida !! –