Esta entrada tiene como objetivo mostrar el uso de Matplotlib/Python como herramienta para generar una gráfica de barras.

Bien, para nuestro ejemplo vamos a suponer que se tienen como datos las calificaciones de 5 alumnos guardadas en una lista, y que tenemos también otra lista con los nombres correspondientes a cada uno, evidentemente en el mismo orden. Os adjunto el script y enseguida la explicación de cada linea:


#-*- coding: utf-8 -*-
import matplotlib.pyplot as plt

fig = plt.figure(u'Gráfica de barras') # Figure
ax = fig.add_subplot(111) # Axes

nombres = ['Juan','Ana','Pablo','Ximena','Jorge']
datos = [90,88,78,94,93]
xx = range(len(datos))

ax.bar(xx, datos, width=0.8, align='center')
ax.set_xticks(xx)
ax.set_xticklabels(nombres)

plt.show()


La primera linea sirve para especificar la codificación utilizada en el fichero y con ello evitar todo tipo de "sorpresas" debido a la peculiaridad de nuestro idioma, de modo que es necesaria. La segunda linea importa el módulo pyplot de la librería Matplotlib utilizando el alias plt.

Luego, creamos una nueva ventana mediante el uso de figure, y añadimos enseguida un axes mediante la instrucción add_subplot(111), donde el 111 indica que solamente se tendrá un eje coordenado dentro de la ventana.

Posteriormente se definen las listas que servirán como entrada para trazar la gráfica de barras. En la lista nombre se guarda un arreglo de strings con los nombres de cada alumno, en datos se guardan las calificaciones correspondientes y xx es una lista de enteros desde 0 a N-1, donde N es el número de elementos que contiene la lista datos, xx servirá para especificar los puntos ubicados en el eje horizontal en los cuales se trazarán las barras.

Una vez se han creado las listas, se procede a trazar la gráfica de barras mediante la función bar, cuyos parámetros de entrada son la lista xx y la lista de datos y/o calificaciones. Además de lo anterior, pueden utilizarse keywords arguments como width o align que sirven para especificar el ancho y la alineación de las barras trazadas. Luego, la función set_xticks define las marcas utilizadas para etiquetar al eje horizontal, y set_xticklabels permite colocar una lista de strings como etiquetas personalizadas, que en este caso corresponde a la lista de nombres.

Finalmente se utiliza la función show para mostrar todo lo que se ha trazado. Se adjunta la salida gráfica del script en cuestión.