lunes, 25 de abril de 2011

Usando pylab para hacer una gráfica convolucionada con lorentziana.

#!/usr/bin/env python
"""
Ejemplo de múltiple plot con pylab
Se muestra cómo hacer una gráfica con datos convolucionados con una lorentziana.
"""
import numpy
import scipy
import pylab
#Definir la función Lorentz
def lorentzian(x):
    return 10.0/(10.0+(x-2.5)**2)
#Leer los datos de archivo
v = pylab.genfromtxt("datos1.dat")
#Trazamos la curva con los primeros 3001 puntos (de 0 a 3000) convolucionando con la lorentziana de -5 a 10 con sampleado de 0.1, usando el color rojo 'r' y poniendo las etiquetas.
pylab.plot(v[0:3000,0],scipy.convolve(v[:,1],map(lorentzian, scipy.arange(-50,100)/10.0))[0:3000],'r',label='convolución(datos1,lorentz)')
#Etiquetas para los ejes
pylab.xlabel('$cm^{-1}$')
pylab.ylabel('a.u.')
#Título de la gráfica
pylab.title('Título')
#Poner una rejilla
pylab.grid(True)
#Poner el cuadro con las leyendas
pylab.legend()
#Guardar la gráfica
pylab.savefig('archivo_salida')
#dibujar en pantalla
pylab.show()

No hay comentarios:

Publicar un comentario