• Diagramas de Barras
  • Bar Charts - Matplotlib
  • Diagrama Barras Horizontal
  • Diagrama Barras Apiladas
  • Bar Charts - Seaborn
  • YouTube - Tutorial
  • Referencias Bibliográficas

Fin Documento

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 3.9.7(Van Rossum & Drake Jr, 1995), recomendamos la lectura del libro Python: Los fundamentos del lenguaje(Chazallet, 2016); compartimos la siguiente imagen como referencia.

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(Allaire et al., 2022) 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.


mtcars_data = pd.read_csv("mtcars.csv")

df = pd.DataFrame(mtcars_data)

by_cyl=df.cyl.value_counts()

cyl=by_cyl[:3]

colores = ['orange','blue','purple']

plt.bar(cyl.index,cyl,color=colores)
plt.title("Número de Cilindros")

plt.xlabel("Cilindors")

plt.ylabel("Frecuencias")

plt.show()

Diagrama Barras Horizontal

A continuación, presentamos como crear un diagrama de barras horizontal en el lenguaje de programación Python, utilizando la librería Matplotlib.


eje_x = ['Prog.', 'Ciencia', 'Mat.', 'Ing.']
 

eje_y = [76,31,45,57]

colores =['#FF8C00','#9932CC','#8B0000','#8FBC8F']
 

plt.barh(eje_x, eje_y, color=colores)
for index,value in enumerate(eje_y):
    plt.text(value,index,str(value))

plt.ylabel('Empleados')
plt.xlabel('Habilidades')
plt.title('Habilidades')
plt.show()

Diagrama Barras Apiladas

A continuación, presentamos como crear un diagrama de barras apiladas en el lenguaje de programación Python, utilizando las librerías Matplotlib y Numpy(Harris et al., 2020).


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 Python que nos permite crear gráficos estadísticos de gran calidad, fue creada tomando como base Matplotlib.


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()

YouTube - Tutorial

Compartimos el siguiente tutorial tomado de la plataforma YouTube que muestra como crear diagramas de barras (Bar Charts) en el lenguaje de programación Python, utilizando las librerías Matplotlib y Seaborn.

Inicio Documento

Referencias Bibliográficas

Allaire, J., Xie, Y., McPherson, J., Luraschi, J., Ushey, K., Atkins, A., Wickham, H., Cheng, J., Chang, W., & Iannone, R. (2022). Rmarkdown: Dynamic documents for r. https://github.com/rstudio/rmarkdown
Chazallet, S. (2016). Python 3: Los fundamentos del lenguaje. Ediciones ENI.
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., Río, J. F. del, Wiebe, M., Peterson, P., … Oliphant, T. E. (2020). Array programming with NumPy. Nature, 585(7825), 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) (Version v0.8.1) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.883859
LS0tDQp0aXRsZTogIkJhciBDaGFydHMgLSBQeXRob24iDQpzdWJ0aXRsZTogIk1hdHBsb3RsaWIgLSBOdW1weSAtIFNlYWJvcm4iDQphdXRob3I6ICJSZW56byBDw6FjZXJlcyBSb3NzaSINCmRhdGU6ICIyMDIyLzEwLzAzIg0Kb3V0cHV0Og0KICBodG1sX2RvY3VtZW50Og0KICAgIHRvYzogVFJVRQ0KICAgIHRvY19mbG9hdDogVFJVRQ0KICAgIGNvZGVfZG93bmxvYWQ6IFRSVUUNCiAgICB0aGVtZTogZmxhdGx5DQogICAgY3NzOiAic3R5bGVfMDA1LmNzcyINCmJpYmxpb2dyYXBoeTogYmlibGlvXzAwMy5iaWIgDQpjc2w6IGFwYS5jc2wNCmxpbmstY2l0YXRpb25zOiB5ZXMgIA0KLS0tDQoNCmBgYHtweXRob24saW5jbHVkZT1GQUxTRX0NCg0KZnJvbSBwbGF0Zm9ybSBpbXBvcnQgcHl0aG9uX3ZlcnNpb24NCg0KdmVyc2lvbj1weXRob25fdmVyc2lvbigpDQoNCmltcG9ydCBtYXRwbG90bGliLnB5cGxvdCBhcyBwbHQNCg0KaW1wb3J0IHBhbmRhcyBhcyBwZA0KDQppbXBvcnQgbnVtcHkgYXMgbnANCg0KaW1wb3J0IHNlYWJvcm4gYXMgc25zDQoNCg0KYGBgDQoNCg0KYGBge3Igc2V0dXAsaW5jbHVkZT1GQUxTRX0NCg0KbGlicmFyeShyZXRpY3VsYXRlKQ0KDQpgYGANCg0KDQpbKipGaW4gRG9jdW1lbnRvKipdKCNkZWYpDQoNCjxhIG5hbWU9ImFiYyI+PC9hPg0KDQojIyBEaWFncmFtYXMgZGUgQmFycmFzIA0KDQpFbCBkaWFncmFtYSBkZSBiYXJyYXMgKCoqQmFyIENoYXJ0KiopIGVzIHVuIGdyw6FmaWNvIGVzdGFkw61zdGljbyBxdWUgbm9zIHBlcm1pdGUgcmVwcmVzZW50YXIgbGEgZGlzdHJpYnVjacOzbiBkZSBmcmVjdWVuY2lhcyBkZSB2YXJpYWJsZXMgY3VhbGl0YXRpdmFzIHkgY3VhbnRpdGF0aXZhcyBkaXNjcmV0YXM7IG51ZXN0cm8gb2JqZXRpdm8gZXMgcGFzYXIgZGVsIGzDoXBpeiB5IHBhcGVsIGFsIHVzbyBkZWwgbGVuZ3VhamUgZGUgcHJvZ3JhbWFjacOzbiBQeXRob24gYHIgcHkkdmVyc2lvbmBbQHZhbjE5OTVweXRob25dLCByZWNvbWVuZGFtb3MgbGEgbGVjdHVyYSBkZWwgbGlicm8gKipQeXRob246IExvcyBmdW5kYW1lbnRvcyBkZWwgbGVuZ3VhamUqKltAY2hhemFsbGV0MjAxNnB5dGhvbl07IGNvbXBhcnRpbW9zIGxhIHNpZ3VpZW50ZSBpbWFnZW4gY29tbyByZWZlcmVuY2lhLg0KDQo8Y2VudGVyPg0KDQohW10oZGlhZ3JhbWFfYmFycmFzX2FtYW5vLmpwZyl7d2lkdGg9NDAwfQ0KDQoNCjwvY2VudGVyPg0KDQoNCiMjIEJhciBDaGFydHMgLSBNYXRwbG90bGliDQoNCioqTWF0cGxvdGxpYioqW0BIdW50ZXI6MjAwN10gZXMgdW5hIGxpYnJlcsOtYSBkZWwgbGVuZ3VhamUgZGUgcHJvZ3JhbWFjacOzbiBQeXRob24sIHF1ZSBub3MgcGVybWl0ZSBjcmVhciBncsOhZmljb3MgZXN0YWTDrXN0aWNvcyBkZSBncmFuIGNhbGlkYWQsICoqUk1hcmtkb3duKipbQFJNYXJrZG93bl0gbm9zIHBlcm1pdGUgdHJhYmFqYXIgY29uIG90cm9zIGxlbmd1YWplcyBkZSBwcm9ncmFtYWNpw7NuIHRhbGVzIGNvbW8gKipDKyssIFNRTCwgSnVsaWEqKiwgZW50cmUgbXVjaG9zIG90cm9zOyBhIGNvbnRpbnVhY2nDs24gbW9zdHJhbW9zIHVuIGRpYWdyYW1hIGRlIGJhcnJhcyAoKipCYXIgQ2hhcnQqKikgY3JlYWRvIGNvbiBNYXRwbG90bGliLg0KDQpgYGB7cHl0aG9uLGZpZy5hbGlnbj0iY2VudGVyIixyZXN1bHRzPSdoaWRlJyxjb2xsYXBzZT1UUlVFfQ0KDQptdGNhcnNfZGF0YSA9IHBkLnJlYWRfY3N2KCJtdGNhcnMuY3N2IikNCg0KZGYgPSBwZC5EYXRhRnJhbWUobXRjYXJzX2RhdGEpDQoNCmJ5X2N5bD1kZi5jeWwudmFsdWVfY291bnRzKCkNCg0KY3lsPWJ5X2N5bFs6M10NCg0KY29sb3JlcyA9IFsnb3JhbmdlJywnYmx1ZScsJ3B1cnBsZSddDQoNCnBsdC5iYXIoY3lsLmluZGV4LGN5bCxjb2xvcj1jb2xvcmVzKQ0KDQpwbHQudGl0bGUoIk7Dum1lcm8gZGUgQ2lsaW5kcm9zIikNCg0KcGx0LnhsYWJlbCgiQ2lsaW5kb3JzIikNCg0KcGx0LnlsYWJlbCgiRnJlY3VlbmNpYXMiKQ0KDQpwbHQuc2hvdygpDQoNCg0KDQpgYGANCg0KDQojIyBEaWFncmFtYSBCYXJyYXMgSG9yaXpvbnRhbA0KDQpBIGNvbnRpbnVhY2nDs24sIHByZXNlbnRhbW9zIGNvbW8gY3JlYXIgdW4gKipkaWFncmFtYSBkZSBiYXJyYXMgaG9yaXpvbnRhbCoqIGVuIGVsIGxlbmd1YWplIGRlIHByb2dyYW1hY2nDs24gUHl0aG9uLCB1dGlsaXphbmRvIGxhIGxpYnJlcsOtYSBNYXRwbG90bGliLiANCg0KYGBge3B5dGhvbixmaWcuYWxpZ249ImNlbnRlciIscmVzdWx0cz0naGlkZScsY29sbGFwc2U9VFJVRX0NCg0KZWplX3ggPSBbJ1Byb2cuJywgJ0NpZW5jaWEnLCAnTWF0LicsICdJbmcuJ10NCiANCg0KZWplX3kgPSBbNzYsMzEsNDUsNTddDQoNCmNvbG9yZXMgPVsnI0ZGOEMwMCcsJyM5OTMyQ0MnLCcjOEIwMDAwJywnIzhGQkM4RiddDQogDQoNCnBsdC5iYXJoKGVqZV94LCBlamVfeSwgY29sb3I9Y29sb3JlcykNCg0KZm9yIGluZGV4LHZhbHVlIGluIGVudW1lcmF0ZShlamVfeSk6DQogICAgcGx0LnRleHQodmFsdWUsaW5kZXgsc3RyKHZhbHVlKSkNCg0KcGx0LnlsYWJlbCgnRW1wbGVhZG9zJykNCnBsdC54bGFiZWwoJ0hhYmlsaWRhZGVzJykNCnBsdC50aXRsZSgnSGFiaWxpZGFkZXMnKQ0KcGx0LnNob3coKQ0KDQoNCmBgYA0KDQoNCg0KIyMgRGlhZ3JhbWEgQmFycmFzIEFwaWxhZGFzDQoNCg0KQSBjb250aW51YWNpw7NuLCBwcmVzZW50YW1vcyBjb21vIGNyZWFyIHVuICoqZGlhZ3JhbWEgZGUgYmFycmFzIGFwaWxhZGFzKiogZW4gZWwgbGVuZ3VhamUgZGUgcHJvZ3JhbWFjacOzbiBQeXRob24sIHV0aWxpemFuZG8gbGFzIGxpYnJlcsOtYXMgKipNYXRwbG90bGliKiogeSAqKk51bXB5KipbQGhhcnJpczIwMjBhcnJheV0uDQoNCmBgYHtweXRob24scmVzdWx0cz0naGlkZScsY29sbGFwc2U9VFJVRSxmaWcuYWxpZ249ImNlbnRlciJ9DQoNCnNlcmllXzEgPSBbNDA2LCAzODcsIDQ0MiwgNDU3LCA0ODVdDQpzZXJpZV8yID0gWzQyMSwgNDUzLCA0MzUsIDQ3OCwgNTEyXQ0KIA0KIA0KbnVtZXJvX2RlX2dydXBvcyA9IGxlbihzZXJpZV8xKQ0KaW5kaWNlX2JhcnJhcyA9IG5wLmFyYW5nZShudW1lcm9fZGVfZ3J1cG9zKQ0KYW5jaG9fYmFycmFzID0wLjM1DQogDQpwbHQuYmFyKGluZGljZV9iYXJyYXMsIHNlcmllXzEsIHdpZHRoPWFuY2hvX2JhcnJhcywgbGFiZWw9J0hvbWJyZXMnKQ0KcGx0LmJhcihpbmRpY2VfYmFycmFzICsgYW5jaG9fYmFycmFzLCBzZXJpZV8yLCB3aWR0aD1hbmNob19iYXJyYXMsIGxhYmVsPSdNdWplcmVzJykNCnBsdC5sZWdlbmQobG9jPSdiZXN0JykNCg0KcGx0Lnh0aWNrcyhpbmRpY2VfYmFycmFzICsgYW5jaG9fYmFycmFzLCAoJzIwMTcnLCAnMjAxOCcsICcyMDE5JywgJzIwMjAnLCcyMDIxJykpDQogDQpwbHQueWxhYmVsKCdOdW1lcm8gZGUgaGFiaXRhbnRlcycpDQpwbHQueGxhYmVsKCdBw7FvJykNCnBsdC50aXRsZSgnTnVtZXJvIGRlIGhhYml0YW50ZXMgcG9yIGdlbmVybycpDQogDQpwbHQuc2hvdygpDQoNCmBgYA0KDQoNCiMjIEJhciBDaGFydHMgLSBTZWFib3JuDQoNCioqU2VhYm9ybioqW0BtaWNoYWVsX3dhc2tvbV8yMDE3Xzg4Mzg1OV0gZXMgdW5hIGxpYnJlcsOtYSBkZSBQeXRob24gcXVlIG5vcyBwZXJtaXRlIGNyZWFyIGdyw6FmaWNvcyBlc3RhZMOtc3RpY29zIGRlIGdyYW4gY2FsaWRhZCwgZnVlIGNyZWFkYSB0b21hbmRvIGNvbW8gYmFzZSAqKk1hdHBsb3RsaWIqKi4NCg0KYGBge3B5dGhvbixmaWcuYWxpZ249ImNlbnRlciIscmVzdWx0cz0naGlkZScsY29sbGFwc2U9VFJVRX0NCg0KZWplX3ggPSBbNCw2LDhdDQoNCmVqZV95ID0gWzExLDcsMTRdDQoNCnNucy5iYXJwbG90KHg9ZWplX3gseT1lamVfeSkNCg0KcGx0LnRpdGxlKCJOw7ptZXJvIGRlIGNpbGluZHJvcyIpDQoNCnBsdC54bGFiZWwoIkNpbGluZHJvcyIpDQoNCnBsdC55bGFiZWwoIkZyZWN1ZW5jaWFzIikNCg0KcGx0LnNob3coKQ0KDQoNCmBgYA0KDQoNCiMjIFlvdVR1YmUgLSBUdXRvcmlhbA0KDQpDb21wYXJ0aW1vcyBlbCBzaWd1aWVudGUgdHV0b3JpYWwgdG9tYWRvIGRlIGxhIHBsYXRhZm9ybWEgKipZb3VUdWJlKiogcXVlIG11ZXN0cmEgY29tbyBjcmVhciBkaWFncmFtYXMgZGUgYmFycmFzICgqKkJhciBDaGFydHMqKikgZW4gZWwgbGVuZ3VhamUgZGUgcHJvZ3JhbWFjacOzbiBQeXRob24sIHV0aWxpemFuZG8gbGFzIGxpYnJlcsOtYXMgKipNYXRwbG90bGliKiogeSAqKlNlYWJvcm4qKi4NCg0KDQo8Y2VudGVyPg0KDQo8aWZyYW1lIHdpZHRoPSI1NjAiIGhlaWdodD0iMzE1IiBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL2pQcmU2TFZ2cjVRIiB0aXRsZT0iWW91VHViZSB2aWRlbyBwbGF5ZXIiIGZyYW1lYm9yZGVyPSIwIiBhbGxvdz0iYWNjZWxlcm9tZXRlcjsgYXV0b3BsYXk7IGNsaXBib2FyZC13cml0ZTsgZW5jcnlwdGVkLW1lZGlhOyBneXJvc2NvcGU7IHBpY3R1cmUtaW4tcGljdHVyZSIgYWxsb3dmdWxsc2NyZWVuIGRhdGEtZXh0ZXJuYWw9MT48L2lmcmFtZT4NCg0KPC9jZW50ZXI+DQoNCg0KPGRpdiBjbGFzcz0idG9jaWZ5LWV4dGVuZC1wYWdlIiBkYXRhLXVuaXF1ZT0idG9jaWZ5LWV4dGVuZC1wYWdlIiBzdHlsZT0iaGVpZ2h0OiAwOyI+PC9kaXY+DQoNCg0KDQpbKipJbmljaW8gRG9jdW1lbnRvKipdKCNhYmMpDQoNCjxhIG5hbWU9ImRlZiI+PC9hPg0KDQoNCg0KIyMgUmVmZXJlbmNpYXMgQmlibGlvZ3LDoWZpY2FzDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg==