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.
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.
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()
Click aquí para mostrar como instalar y activar librerías en Python
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.
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.35plt.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
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.↩︎
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.↩︎
Quarto es un sistema de publicación de documentos científicos y técnicos, que nos permite crear documentos científicos y técnicos.↩︎
Correr el código
---title: Bar Charts - Pythonsubtitle: Matplotlib - Numpy - Seaborndate: today #last-modified #nowdescription: 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.author: name: Renzo Cáceres Rossi url: https://youtube.com/c/renzocaceresrossi affiliation: Hablamos R affiliation-url: https://hablamosr.blogspot.com/title-block-banner: "#2F4F4F"format: html: toc: true theme: united code-fold: true code-tools: true css: "style_015.css"bibliography: biblio_014.bibcsl: apa.csllink-citations: yeslang: Es-esjupyter: python3---<!-- Quarto nos permite trabajar con R,Python, Julia y Observable JS -->```{python,include=FALSE}#| echo: falseimport matplotlib.pyplot as pltimport numpy as npimport seaborn as snsfrom platform import python_versionversion= python_version()```:::{.callout-important}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[@van1995python] y sus principales librerías, compartimos la siguiente imagen como referencia.<center>{width=400}</center>[Recomendamos **Python for Data Science** - Cognitive Class <https://cognitiveclass.ai/courses/python-for-data-science>{target=_blank}]{.aside}## 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.```{python,results='hide',collapse=TRUE}#| fig-align: centereje_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()```:::{.callout-warning collapse="true"}## Click aquí para mostrar como instalar y activar librerías en Pythonpip install matplotlib<br>pip install numpy<br>pip install seaborn<br>import matplotlib.pyplot as plt<br>import numpy as np<br>import seaborn as sns:::## Horizontal Bar ChartsA continuación, mostramos como crear un diagrama de barras horizontal (**Bar Chart**) haciendo uso de la libreria **Matplotlib**.```{python,results='hide',collapse=TRUE}#| fig-align: centereje_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()```:::{.callout-tip}## Consejo!!!El uso de **Markdown** mejora la estructura y presentación de tus documentos **Quarto**.:::- Revisa como luce el Logo de Markdown @fig-markdown- Revisa como luce el Logo de Markdown @fig-rmarkdown- Revisa como luce el Logo de Markdown @fig-quarto## Barras Apiladas - MatplotlibMostramos como crear un diagrama de barras apiladas hacienso uso de las librerías **Matplotlib** y **Numpy**[@2020NumPy-Array].```{python,results='hide',collapse=TRUE}#| fig-align: centerserie_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.35plt.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**[@michael_waskom_2017_883859] 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.```{python,results='hide',collapse=TRUE}#| fig-align: centereje_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 - QuartoMostramos los logos que identifican las herramientas **Markdown**[^1],**RMarkdown**[^2] y **Quarto**[^3].:::{layout-ncol=3}{#fig-markdown}{#fig-rmarkdown}{#fig-quarto}:::## Tutorial - MatplotlibCompartimos el siguiente tutorial tomado de [YouTube](https://www.youtube.com/){target=_blank} que muestra como crear diagramas de barras (**Bar Charts**) haciendo uso de las librerías **Matplotlib** y **Seaborn**<center><iframewidth="560"height="315"src="https://www.youtube.com/embed/jPre6LVvr5Q"title="YouTube video player"frameborder="0"allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"allowfullscreendata-external=1></iframe></center>[^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.