Gráficas con Python y GNUPlot

Python

En la presente receta se indica cómo crear gráficas GNUPlot utilizando el lenguaje Python

Ingredientes

Paquete necesario que debes tener instalados:

  • python-gnuplot

Uso Básico

Para utilizar el módulo python-gnuplot, tu archivo Python debe ir encabezado por:

import Gnuplot

Una vez cargado, su uso básico es muy sencillo:

a = [[1,2],[3,4],[5,6]]
gp = Gnuplot.Gnuplot()
gp.plot(a)

El anterior fragmento de código genera una gráfica cuyo contenido son los puntos contenido en la lista "a".

No obstante, lo más habitual es que se quiera representar la línea que une los puntos dados en una lista. El siguiente fragmento hace esto mismo para los datos anteriores:

a = [[1,2],[3,4],[5,6]]
gp = Gnuplot.Gnuplot()
gp("set data style lines")
gp.plot(a)

Como se puede aprecia, python-gnuplot provee al usuario de un método anónimo por el que se puede ejecutar comandos de gnuplot para el objeto creado.

Ejemplo

Sea el siguiente fragmento de código un ejemplo más elaborado:

import Gnuplot
 
gp = Gnuplot.Gnuplot(persist = 1)
gp('set data style lines')
 
graf1 = [[1,2],[3,4],[5,6]]
graf2 = [[1,3],[2,-1],[3,6],[4,2],[5,0]]
plot1 = Gnuplot.PlotItems.Data(graf1, with_="lines", title="Temp./Tiempo")
plot2 = Gnuplot.PlotItems.Data(graf2, with_="lines", title="Estado Mental del desarrollador de UCLMWiFi")
gp.plot(plot1, plot2)

Referencias

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de manueldavid

gnuplot

Es una receta muy buena!!!

Lo cierto es que yo esoty utilizando C, y al obtener unos resultados quiero sacar su gráfica mediante gnuplot.
Para ello guardo los resultados (X,Y,Z) en un fichero de texto.

Pero soy nuevo con gnuplot y no tengo ni idea ..., al cargar el archivo me da un fallo.

¿alguien sabe cómo a partir de un archivo tipo
X Y Z
3 4 5
3 4 5
.
.
.
gnuplot muestra su gráfica?

He visto los demos que trae y son una flipada... Evil .

******************************************************************************
Los intelectuales buscan conocimeneto, el resto sólo busca dinero.

No sueño con grandes palacios, no sueño con grandes lujos, no sueño con grandes poderes, porque yo sólo sueño con grandes sueños

si estas en la interface de

si estas en la interface de gnuplot

> splot 'archivo.txt' using ($1):($2):($3)

splot es para 3 dimensiones, el comando using es util para definir las columnas que quieres usar si es q tienes mas de 3

si son solo 2 dimensiones seria:

> plot 'archivo.txt' using ($3):($7)

Nota: Todo lo que no sean datos a representar debe ir precedido de una almohadilla

por ejemplo: X Y Z si esta escrito en el archivo deberia estar escrito asi #X Y Z
si no te dara un error

Imagen de manueldavid

Al final lo solucioné con opengl

Al final el tema de hacer grafiquitas y tal, lo solucioné utlizando OpenGL.
La verdad es que es muy sencillo de utilizar.

***************************************************************************
Existe otro tipo de pobreza que no se ve ... la soledad.

No sueño con grandes palacios, no sueño con grandes lujos, no sueño con grandes poderes, porque yo sólo sueño con grandes sueños

Imagen de cleto

Pues...

... que gran receta sería ver cómo lo has solucionado. Eye-wink

----------------------------------------------------------------
"Software Libre para una sociedad libre."