[pygtk] distintos tipos de gráficas

Inigo Aldazabal Mensa inigo_aldazabal en ehu.es
Mie Jul 23 13:09:09 CEST 2008


El Miércoles, 23 de Julio de 2008 12:28, Beni escribió:
> 2008/7/23 Inigo Aldazabal Mensa <inigo_aldazabal en ehu.es>:
> > El Martes, 22 de Julio de 2008 18:05, Beni escribió:
> > > 2008/7/22 Inigo Aldazabal Mensa <inigo_aldazabal en ehu.es>:
> > > > DrawingArea es para dibujar dentro de ella, como con el gimp por
> > > > ejemplo. Una opción muy sencilla es generar la imagen de otra
> > > > forma y luego colocarla en un widget de imagen.
> > > >
> > > > Un documento bastante bueno sobre cómo hacer una aplicación
> > > > sencilla que haga exactamente esto es "Introduction to GUI
> > > > building with Glade"[1]. En concreto usa gnuplot para generar la
> > > > imagen, pero es lo de menos.
> > > >
> > > > Para crear la imagen puedes utilizar el mismo gnuplot[2,3] o
> > > > alguna de las librerías que se mencionaban hace pocos días en la
> > > > lista, pyx[4], pyxplot[5], Pycha[6], que parece muy sencillo y con
> > > > muy buena pinta, matplotlib[7], rrdtool[8], etc. En fin,
> > > > dependiendo de qué tipo de gráficas necesites, busca el mas
> > > > adecuado.
> > > >
> > > > Algunos, como el matplotlib, los puedes embeber directamente en la
> > > > aplicación, en vez de generar imágenes externas, pero es mas
> > > > complicado, claro.
> > > >
> > > > Un saludo
> > > >
> > > > [1] http://www-uxsup.csx.cam.ac.uk/courses/Glade/
> > > > [2] http://www.gnuplot.info/
> > > > [3] http://gnuplot-py.sourceforge.net/
> > > > [4] http://pyx.sourceforge.net/index
> > > > [5] http://www.pyxplot.org.uk/
> > > > [6] http://www.lorenzogil.com/projects/pycha
> > > > [7] http://matplotlib.sourceforge.net/
> > > > [8] http://oss.oetiker.ch/rrdtool/
>
> Muy bueno Inigo. Gracias por todos esos enlaces.
>
> Básicamente lo que quiero es poder hacer graficas e interacturar con
> ellas. Por ejemplo seleccionar un pico de una función y que realice
> ciertos calculos. Lo del svg lo sugerí por que vi este comportamiento
> con la librería dojo que renderiza a svg y queda bastante impresionante.
>
> Pero viendo la documentación que me has dado y más concretamente el
> mathplotlib, parece que puedes interactuar con los gráficos que generas.
> Que es el comportamiento que búscaba. Así que muchas gracias seguiré
> echandole un vistazo a todo esto.

Con matplotlib sí interaccionas, en el sentido que el gui que tiene el 
propio sistema lo embebes en tu aplicación, y puedes usar también la barra 
de herramientas que tiene, sin hacer nada. De esa forma puedes obtener 
coordenadas de un cierto punto, ampliar una cierta parte de la gráfica, 
mover los ejes y cosas así de forma "automágica".

Yo por ejemplo hice una aplicación de postprocesado que realizaba una 
animación de unos resultados y podías pararla pinchando en la ventana de 
la gráfica, hacer zoom, guardar la imagen (con la propia barra de 
matplotlib, claro), etc.

Lo de la animación fue un poco lío sobre todo en los detalles, pero si tu 
gráfica es estática esta tirado. A mi me fue muy bien para empezar este 
tutorial[1]. También creo que algo había en los ejemplos de matplotlib.

http://www.serpia.org/blog/2007/nov/03/matplotlib-and-pygtk-app/

Un saludo.
------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes


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