Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/12/2013, 01:56
edanvar
 
Fecha de Ingreso: octubre-2013
Mensajes: 59
Antigüedad: 11 años, 1 mes
Puntos: 0
Actualizar plot dinamicamente

Hola, es posible ir actualizando un plot, esto es, redibujandolo con cada nueva llegada de datos??

Solo destacar que lo que pretendo NO ES redibujar TODO el plot de nuevo cada vez, lo cual, en la iteracion 1000 seria muy pesado, lo que pretendo es IR ACTUALIZANDO cada vez el mismo plot con nuevos datos.

Yo, de momento, he hecho algo muy muy simple para intentar entender como va esto, de momento llegado hasta aqui:

Código Python:
Ver original
  1. import matplotlib.pyplot as plt
  2. import numpy
  3.  
  4.  
  5.  
  6.  
  7. def update_line(hl, new_data):
  8.     hl.set_xdata(numpy.append(hl.get_xdata(), new_data[0]))
  9.     hl.set_ydata(numpy.append(hl.get_ydata(), new_data[1]))
  10.     plt.draw()
  11.    
  12. if __name__ == "__main__":
  13.    
  14.     h1, = plt.plot([], [])
  15.     x = [0,1,2,3,4,5]
  16.     y = [1,2,1,3,1,2]
  17.     new_data = []
  18.    
  19.     for i in xrange(len(x)):
  20.        
  21.        
  22.         new_data = [x[i],y[i]]
  23.         update_line(h1,new_data)
  24.         new = raw_input('Update plot')

He itentado esperar una entrada de teclado despues de cada "actualizacion" del grafico para poder ir viendolo, pero de momento NO FUNCIONA.

Si alguien sabe algo mas sobre este tema, se lo agradeceria.