Mostrando entradas con la etiqueta matplotlib. Mostrar todas las entradas
Mostrando entradas con la etiqueta matplotlib. Mostrar todas las entradas

miércoles, 14 de septiembre de 2011

Histogramas con Python + Matplotlib

Uno de los paquetes mas completos para graficar con Python es Matplotlib. El día de hoy explicaré como graficar un histograma sencillo utilizando el sub-paquete pylab y las funciones hist y show.

import random
from matplotlib.pylab import hist, show
v=range(0,21)
data=[]
for i in range(1000):
    data.append(random.choice(v))

hist(data,21, (0,20))
show()


Resultado



Explicación linea a linea

Linea 1.  import random
Importamos el paquete random para generar datos de manera aleatoria para el histograma.

Linea 2. from matplotlib.pylab import hist, show
Del subpaquete pylab de matplotlib importamos las funciones hist y show. La función hist es la que crea los datos del histograma, y show muestra en pantalla dicho histograma.


Linea 3. v=range(0,21)
Creamos un vector de posibles resultados del experimento, es decir, en nuestro experimento, los posibles resultados varían entre 0 y 20 (en total 21 datos posibles).

Linea 4. data=[]
Se crea una lista donde guardaremos la frecuencia en la que aparece cada uno de los posibles resultados del experimento.


Linea 5 y 6.
for i in range(1000):
____data.append(random.choice(v))

Generamos los datos de nuestro experimento. Para ello hacemos una elección aleatoria de los posibles resultados de nuestro experimento. En nuestro caso, se está realizando el experimento en el que se elige mil veces un número entre 0 y 20, en cada extracción se repone el número elegido y la probabilidad de elegir cada uno de los números es la misma. Dicho de otra forma, la distribución de probabilidad es uniforme.


Linea 7. hist(data,21, (0,20))
Generamos el histograma con la función hist. Observar que los argumentos de la función hist son: los datos, la cantidad de diferentes valores del experimento, y el rango de dichos valores. 


Linea 8. show()

Por último, usamos el comando show() para graficar el histograma generado.

Si te ha gustado este artículo, compártelo en facebook, twitter, google+, coméntalo, envíalo por correo, y si quieres mas información, pídela. Si no te gusta, critícalo. Tu tienes completo control sobre los contenidos de este blog.

martes, 30 de agosto de 2011

Cómo graficar una función de una variable con Python



Esta pequeña publicación es un aperitivo para una sucesión de publicaciones en donde desarrollaré todos los métodos de graficación en Python, tanto 2D como 3D y algunas alternativas para dimensiones mayores.

Observación: Debes tener instalado matplotlib. Si tienes dudas sobre como instalarlo, puedes dejar un comentario, sin embargo, si eres un usuario de Debian (Ubuntu, Linux Mint, etc) o distribuciones parecidas, puedes buscarlo en synaptic o usar apt-get.

El código en cuestión es:
import numpy as np
import matplotlib.pyplot as plt

x=np.arange(0,10,0.1)
y=2*np.sin(4*x)-x**2+10*x  #f(x)=2sin(4x)-x^2+10x
plt.plot(x,y)
plt.show()

Puedes usar la librería math en lugar de numpy para utilizar la función seno, y en general para cualquier otra función, con lo que el código sería:

import math
import matplotlib.pyplot as plt
import numpy as np
x=np.arange(0,10,0.1)
y=2*math.sin(4*x)-x**2+10*x  #f(x)=2sin(4x)-x^2+10x
plt.plot(x,y)
plt.show()

Finalmente el resultado es:


Nota final: Preferí colocar una función mas interesante que la eterna parábola que aparece en todo manual de graficación. Te invito a jugar con este código simple, seguro lograrás hacer cosas mejores.

Si te ha gustado este artículo, coméntalo, si quieres mas información, pídela. Tu tienes completo control sobre los contenidos de este blog.