jueves, 20 de octubre de 2011

Graficar Datos 3D Python

Graficar datos 3D Python

El siguiente desarrollo muestra como graficar datos en 3D con Python utilizando el sistema operativo Linux, es necesario tener instalado el programa Gnuplot.

Generar una gráfica en 3D con Gnuplot se logra mediante la creación de una función, lo cual no da ninguna facilidad para hacerlo formando una imagen a partir de datos. Gnuplot tiene también la opción de generar una gráfica en 3D a partir de datos provenientes de un documento de texto, este es entonces el mecanismo para generar la gráfica de datos. El procedimiento consiste en crear un nuevo documento de texto, ir ingresando renglones con 3 datos y finalmente hacer la gráfica con referencia al documento de texto.

#Procedimiento para crear el nuevo documento de texto
import Gnuplot
f = open('/tmp/data3D.dat', 'w') #Crea un nuevo documento de texto llamado data3D en la carpeta /temp
f = open('/tmp/data3D.dat', 'r+') #Necesario para completar los atributos de lectura y escritura

#Ingreso de 3 datos por renglón
xlen=3 #Estos datos se deben ser ingresados como parte de una función, para el ejemplo se crean
ylen=2
fxy=[[0, 1], [2, 3], [4, 5]]
k=0
for i in range(xlen):
    for j in range(ylen):
        point=str(fxy[i][j]) #Conversión de los datos a caracteres
        xi=str(i)
        yj=str(j)
        f.write(xi+" "+yj+" "+point+"\n") #imprime un renglón con tres datos
        k=k+1
        if (k==3):
            k=0
            f.seek(0)
        f.read() #Actualiza los datos de la tabla

#Procedimiento para graficar
gp=Gnuplot.Gnuplot()
gp('set term x11')
#gp('set ouput "data3D.png"')
#gp('set term png')
gp('splot "/tmp/data3D.dat"')
#gp('set ouput "data3D.png"')
gp('replot')
gp('splot "/tmp/data3D.dat"')
#Aca finaliza

Imagen de Entrada


 
Imagen de Salida - Plot 3D
 
 
La imagen anterior muestra la proyección en 3D de la gama de rojo de la imagen.

Un procedimiento no muy funcional se comenta el cual tenia como idea generar una imagen jpg con la grafica.

En el siguiente link se incluye un ejemplo en el cual se gráfica la intensidad de color de una imagen:

Descargar

Referencias:

http://computacion.cs.cinvestav.mx/~acaceres/courses/gnuplotCurso/node6.html
http://t16web.lanl.gov/Kawano/gnuplot/plot3d-e.html
style puntos rayas etc
http://t16web.lanl.gov/Kawano/gnuplot/intro/style-e.html
Python Imaging Library
http://www.pythonware.com/library/pil/handbook/
Programacion modular python
http://mundogeek.net/archivos/2008/03/28/python-modulos-y-paquetes/
Graficas con python
www.linux-magazine.es/issue/05/Pythongraf.pdf

viernes, 12 de agosto de 2011

Red ZigBee para Monitoreo y Control en Agricultura de Precision

Diseño e implementación de una red inalámbrica de sensores para el monitoreo y control en agricultura de precisión utilizando un kit ZigBee ZMD44102SKB. La aplicación incluye la construcción de una prataforma a escala para pruebas de control de temperatura y humedad; esta aplicación también incluye el desarrollo del GUI en Matlab para monitoreo de la red y sus señales de control.





Descargar Red ZigBee pdf - Aplicacion en agricultura de precisión