Introducción
En este laboratorio, aprenderemos a usar la función de tabla de Matplotlib para mostrar una tabla dentro de una gráfica. Usaremos un conjunto de datos de muestra para visualizar las pérdidas causadas por diferentes desastres naturales a lo largo de los años.
Consejos sobre la VM
Una vez que se haya iniciado la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.
A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.
Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje sus comentarios después de la sesión y lo resolveremos rápidamente para usted.
Importar las bibliotecas necesarias
Comenzaremos importando las bibliotecas necesarias para el proyecto. Usaremos la biblioteca Matplotlib para crear la tabla.
import matplotlib.pyplot as plt
import numpy as np
Crear el conjunto de datos
A continuación, crearemos un conjunto de datos de muestra para visualizar las pérdidas causadas por diferentes desastres naturales a lo largo de los años. Usaremos una lista bidimensional para almacenar los datos y una tupla para almacenar los nombres de las columnas.
data = [[ 66386, 174296, 75131, 577908, 32015],
[ 58230, 381139, 78045, 99308, 160454],
[ 89135, 80552, 152558, 497981, 603535],
[ 78415, 81858, 150656, 193263, 69638],
[139361, 331509, 343164, 781380, 52269]]
columns = ('Freeze', 'Wind', 'Flood', 'Quake', 'Hail')
Crear etiquetas de fila
Crearemos etiquetas de fila para el conjunto de datos para representar el número de años para los cuales se han registrado las pérdidas. Usaremos una comprensión de lista para crear las etiquetas de fila.
rows = ['%d year' % x for x in (100, 50, 20, 10, 5)]
Crear un esquema de colores
Crearemos un esquema de colores para la tabla usando la función plt.cm.BuPu. Usaremos una tonalidad pastelería de azul y morado para las filas.
colors = plt.cm.BuPu(np.linspace(0, 0.5, len(rows)))
Crear un gráfico de barras apiladas verticales
Crearemos un gráfico de barras apiladas verticales usando la función plt.bar para representar las pérdidas causadas por diferentes desastres naturales a lo largo de los años. Usaremos un bucle for para iterar sobre cada fila de datos y trazar las barras.
n_rows = len(data)
index = np.arange(len(columns)) + 0.3
bar_width = 0.4
y_offset = np.zeros(len(columns))
cell_text = []
for row in range(n_rows):
plt.bar(index, data[row], bar_width, bottom=y_offset, color=colors[row])
y_offset = y_offset + data[row]
cell_text.append(['%1.1f' % (x / 1000.0) for x in y_offset])
Invertir los colores y las etiquetas de texto
Invertiremos los colores y las etiquetas de texto de la tabla para mostrar el último valor en la parte superior usando la función [::-1].
colors = colors[::-1]
cell_text.reverse()
Agregar una tabla al gráfico
Agregaremos una tabla en la parte inferior del gráfico usando la función plt.table. Pasaremos el texto de las celdas, las etiquetas de fila, los colores de fila y las etiquetas de columna como parámetros a la función.
the_table = plt.table(cellText=cell_text,
rowLabels=rows,
rowColours=colors,
colLabels=columns,
loc='bottom')
Ajustar el diseño del gráfico
Ajustaremos el diseño del gráfico para hacer espacio para la tabla usando la función plt.subplots_adjust.
plt.subplots_adjust(left=0.2, bottom=0.2)
Agregar etiquetas de eje y título
Agregaremos etiquetas de eje y un título al gráfico usando las funciones plt.ylabel, plt.yticks, plt.xticks y plt.title.
values = np.arange(0, 2500, 500)
value_increment = 1000
plt.ylabel(f"Pérdida en ${value_increment}'s")
plt.yticks(values * value_increment, ['%d' % val for val in values])
plt.xticks([])
plt.title('Pérdida por desastre')
Mostrar el gráfico
Mostraremos el gráfico usando la función plt.show.
plt.show()
Resumen
En este laboratorio, aprendimos cómo usar la función de tabla de Matplotlib para mostrar una tabla dentro de un gráfico. Usamos un conjunto de datos de muestra para visualizar las pérdidas incurridas por diferentes desastres naturales a lo largo de los años. Seguimos los siguientes pasos:
- Importamos las bibliotecas necesarias
- Creamos el conjunto de datos
- Creamos las etiquetas de fila
- Creamos el esquema de colores
- Creamos un gráfico de barras apiladas verticales
- Invertimos los colores y las etiquetas de texto
- Agregamos una tabla al gráfico
- Ajustamos el diseño del gráfico
- Agregamos etiquetas de eje y título
- Mostramos el gráfico.