Función de tabla de Matplotlib

PythonPythonBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

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:

  1. Importamos las bibliotecas necesarias
  2. Creamos el conjunto de datos
  3. Creamos las etiquetas de fila
  4. Creamos el esquema de colores
  5. Creamos un gráfico de barras apiladas verticales
  6. Invertimos los colores y las etiquetas de texto
  7. Agregamos una tabla al gráfico
  8. Ajustamos el diseño del gráfico
  9. Agregamos etiquetas de eje y título
  10. Mostramos el gráfico.