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.

5 comentarios:

  1. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  2. Cómo se hace la curva de ajuste?
    Muchas gracias

    ResponderEliminar
    Respuestas
    1. Hola. Intentaré hacer un post con ajustes de curvas. Se puede hacer de varias formas. Una de ellas es con la librería numpy o con la scipy ... pero ya lo explicaré próximamente.

      Eliminar
  3. Una consulta: Como hago un histograma con datos propios, sin crear un vector?
    Muchas gracias

    ResponderEliminar