[Python-es] Matplotlib, generar gráfica en tiempo real.

Kiko kikocorreoso en gmail.com
Jue Mayo 30 09:16:49 CEST 2013


El 30 de mayo de 2013 07:11, Hiram Zúñiga <hiramhzr en gmail.com> escribió:

> Hola lista,
>
> Estoy tratando de graficar un archivo csv en tiempo real, adjunto
> los archivos para que se entienda mejor lo que explicare,
>
> Al correr el script generar.py(creo un archivo nuevo.csv), se generan
> 100 registros con números aleatorios entre 1 y el 7, ahora al correr
> graficacsv.py podemos observar que se genera correctamente la gráfica,
> lo que quiero lograr ahora es que en lugar de esperar a que finalice
> el poblado del archivo csv para mostrar la gráfica, quiero ver en tiempo
> real como se va construyendo cada que se agrega un nuevo registro al
> archivo,
> agregue un retardo de 1 seg (linea 12: generar.py) para poder observar cada
> que se agrega un nuevo registro, pero al
> ejecutar graficacsv.py no muestra los datos que se van generando dentro
> del archivo, simplemente me muestra una gráfica vacía,
> por lo que tengo que matar el proceso de generar.py para poder ver la
> gráfica.
>

Puedes hacer:

file.flush()

Para asegurarte que los datos se escriben en el fichero.


>
> Me imagino que todo puede ir por el lado de que al estar escribiendo el
> archivo
> (nuevo.csv)este se bloquea para ser leído, si es esto cierto, hay alguna
> otra
> forma de lograr lo que me propongo.
>

No hay bloqueo del fichero.


>
> En resumen necesito ver los datos generados por generar.py en tiempo
> real ejecutando graficacsv.py
>

¿Por qué lo haces en dos programas separados? No sería más sencillo hacerlo
en el mismo proceso y actualizar solo las partes que van cambiando en lugar
de leer todo el fichero csv para actualizar el gráfico.


>
> Espero me puedan orientar, desde ya muchas gracias a tod en s
>

Échale un ojo a la API de animación que tiene Matplotlib. Puedes ver un
ejemplo de como usarlo en:
http://pybonacci.wordpress.com/2012/12/16/creando-una-animacion-con-matplotlib-y-ffmpeg/

También puedes ver más ejemplos de como usar matplotlib de forma
interactiva en este tutorial de Jake Vanderplas:
http://vimeo.com/63260224


>
> Adjunto(graficacsv.py, genear.py, nuevo.csv es generado automático)
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20130530/f0eab72f/attachment.html>


Más información sobre la lista de distribución Python-es