Matplotlib - Numpy - Seaborn

El presente documento muestra como crear diagramas de barras (Bar Charts) en el lenguaje de programación Python, utiizando las librerías Matplotlib, Numpy y Seaborn.
Autor
Afiliación
Fecha de Publicación

September 7, 2022

Importante

Recomendamos tener instaladas las útlimas versiones de Quarto,RStudio y Python

Diagramas de Barras

El diagrama de barras (Bar Chart) es un gráfico estadístico que nos permite representar la distribución de frecuencias de variables cualitativas y cuantitativas discretas; nuestro objetivo es pasar del lápiz y papel al uso del lenguaje de programación Python(Van Rossum & Drake Jr, 1995) y sus principales librerías, compartimos la siguiente imagen como referencia.

Bar Chart creado a mano.

Recomendamos Python for Data Science - Cognitive Class https://cognitiveclass.ai/courses/python-for-data-science

Bar Charts - Matplotlib

Matplotlib(Hunter, 2007) es una librería del lenguaje de programación Python, que nos permite crear gráficos estadísticos de gran calidad, RMarkdown nos permite trabajar con otros lenguajes de programación tales como C++, SQL, Julia, entre muchos otros; a continuación mostramos un diagrama de barras (Bar Chart) creado con Matplotlib.

Código
eje_x = ['Python', 'R', 'Node.js', 'PHP']
 

eje_y = [50,20,35,47]
 

plt.bar(eje_x, eje_y)
 

plt.ylabel('Cantidad de usuarios')
 

plt.xlabel('Lenguajes de programación')
 

plt.title('Usuarios de lenguajes de programación')
 

plt.show()

pip install matplotlib
pip install numpy
pip install seaborn
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns

Horizontal Bar Charts

A continuación, mostramos como crear un diagrama de barras horizontal (Bar Chart) haciendo uso de la libreria Matplotlib.

Código
eje_x = ['Prog.', 'Ciencia', 'Mat.', 'Ing.']
 

eje_y = [76,31,45,57]
 

plt.barh(eje_x, eje_y, color="purple")

plt.ylabel('Empleados')

plt.xlabel('Habilidades')

plt.title('Habilidades')

plt.show()

Consejo!!!

El uso de Markdown mejora la estructura y presentación de tus documentos Quarto.

  • Revisa como luce el Logo de Markdown Figura 1

  • Revisa como luce el Logo de Markdown Figura 2

  • Revisa como luce el Logo de Markdown Figura 3

Barras Apiladas - Matplotlib

Mostramos como crear un diagrama de barras apiladas hacienso uso de las librerías Matplotlib y Numpy(Harris et al., 2020).

Código
serie_1 = [406, 387, 442, 457, 485]
serie_2 = [421, 453, 435, 478, 512]
 
 
numero_de_grupos = len(serie_1)
indice_barras = np.arange(numero_de_grupos)
ancho_barras =0.35
 
plt.bar(indice_barras, serie_1, width=ancho_barras, label='Hombres')
plt.bar(indice_barras + ancho_barras, serie_2, width=ancho_barras, label='Mujeres')
plt.legend(loc='best')

plt.xticks(indice_barras + ancho_barras, ('2017', '2018', '2019', '2020','2021'))
 
plt.ylabel('Numero de habitantes')
plt.xlabel('Año')
plt.title('Numero de habitantes por genero')
 
plt.show()

Bar Charts - Seaborn

Seaborn(Waskom et al., 2017) es una librería de visualización de datos para Python desarrollada sobre Matplotlib Ofrece una interfaz de alto nivel para la creación de atractivas gráficas.

Código
eje_x = [4,6,8]

eje_y = [11,7,14]

sns.barplot(x=eje_x,y=eje_y)

plt.title("Número de Cilindros")

plt.xlabel("Cilindros")

plt.ylabel("Frecuencias")

plt.show()

Markdown - RMarkdown - Quarto

Mostramos los logos que identifican las herramientas Markdown1,RMarkdown2 y Quarto3.

Figura 1: Logo Markdown

Figura 2: Logo RMarkdown

Figura 3: Logo Quarto

Tutorial - Matplotlib

Compartimos el siguiente tutorial tomado de YouTube que muestra como crear diagramas de barras (Bar Charts) haciendo uso de las librerías Matplotlib y Seaborn

Referencias

Harris, C. R., Millman, K. J., Walt, S. J. van der, Gommers, R., Virtanen, P., Cournapeau, D., Wieser, E., Taylor, J., Berg, S., Smith, N. J., Kern, R., Picus, M., Hoyer, S., Kerkwijk, M. H. van, Brett, M., Haldane, A., Fernández del Río, J., Wiebe, M., Peterson, P., … Oliphant, T. E. (2020). Array programming with NumPy. Nature, 585, 357-362. https://doi.org/10.1038/s41586-020-2649-2
Hunter, J. D. (2007). Matplotlib: A 2D graphics environment. Computing in Science & Engineering, 9(3), 90-95. https://doi.org/10.1109/MCSE.2007.55
Van Rossum, G., & Drake Jr, F. L. (1995). Python reference manual. Centrum voor Wiskunde en Informatica Amsterdam.
Waskom, M., Botvinnik, O., O’Kane, D., Hobson, P., Lukauskas, S., Gemperline, D. C., Augspurger, T., Halchenko, Y., Cole, J. B., Warmenhoven, J., Ruiter, J. de, Pye, C., Hoyer, S., Vanderplas, J., Villalba, S., Kunter, G., Quintero, E., Bachant, P., Martin, M., … Qalieh, A. (2017). mwaskom/seaborn: v0.8.1 (September 2017) (Versión v0.8.1) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.883859

Notas

  1. Markdown es un lenguaje de marcado ligero, que nos permite establecer la estructura y presentación de nuestros documentos para luego convertirlos a formato HTML.↩︎

  2. RMarkdown es un paquete del lenguaje de programación R, que nos permite unir texto plano con código de R, Python y crear documentos reproducibles en formatos HTML,PDF, Word entre otros.↩︎

  3. Quarto es un sistema de publicación de documentos científicos y técnicos, que nos permite crear documentos científicos y técnicos.↩︎