Curso matplotlib - 3 - Diagrama de barras e histogramas

A continuación mostraremos los pasos para crear un diagrama de barras y un histograma con matplotlib en Python.





Al igual que para la recta utilizábamos la función plot, para la creación de una diagrama de barras utilizaremos la función bar.

Quedándonos así el código de la siguiente manera: 

import matplotlib.pyplot as plt

x = [5, 9, 10, 20, 43]
y = [3, 2, 40, 2, 20]

x2 = [21, 22, 53, 53, 43]
y2 = [32, 5, 6, 32, 34]

plt.bar(x, y, label = 'Primer Experimento')
plt.bar(x2,y2, label = 'Segundo Experimento')
plt.xlabel('Largo')
plt.ylabel('Ancho')
plt.title('Curso MatPlotLib\nblog.curiosoinformatico.com')


# Para añadir etiquetas o cualquier otra cosa debemos hacerlo antes de llamar a
# plt.show()
plt.legend()
plt.show()


Respecto al tutorial anterior hemos modificado los apartados señalados en negrita.
En la definición de las variables hemos añadido nuevos valores para tener un mayor rango y hemos sustituido plt.plot por plt.bar

No obstante, no hace falta ser muy avispado para observar que algo sigue fallando. No podemos distinguir entre el Experimento 1 y el Experimento 2 ya que ambos son del mismo color. Para esto, matplotlib tiene un nuevo argumento que es el color. El color puede ser referenciado por medio de un código hexadecimal, por el nombre del color preprogramado o por una letra, por ejemplo, r para rojo, g para verde, etc.




El código que hemos cambiado/añadido para obtener este resultado es el siguiente:

plt.bar(x, y, label = 'Primer Experimento', color = 'c')
plt.bar(x2,y2, label = 'Segundo Experimento', color = 'g')


Histograma:

A continuación aprenderemos a realizar un histograma bastante sencillo que analice las edades de una población. Para ello primero necesitaremos una muestra con todas las edades de la población. Estas las representaremos en una lista:

edades_de_la_poblacion = [44,11,33,45,21,12,32,20,25,24,26,14]

Para clasificar estas edades necesitaremos unos bins o cajas contenedoras. Estas agruparán las edades de 0 a 10, de 10 a 20, de 20 a 30, etc.

Estos clasificadores los crearemos en una lista:

bins = [0, 10, 20, 30, 40]







Finalmente llamaremos a la representación del histograma pasándole la muestra y los clasificadores como argumentos. También le deberemos de pasar el tipo de histograma que en este caso lo llamaremos de barras. Tipo 'bar'  y un argumento opcional que nos permitirá separar las columnas.

La sentencia al completo sería así:

plt.hist(edades_de_la_poblacion, bins, histtype = 'bar', rwidth = 0.6)


Si el último argumento no lo escribimos o lo ponemos con un valor = 1 el resultado sería el siguiente:



Con esto hemos concluido este apartado. Como siempre, un fuerte abrazo. Los archivos los podemos encontrar en el drive de este curso: 



No hay comentarios:

Publicar un comentario