Cómo dibujar una tabla en Matplotlib
Podemos graficar una tabla en Matplotlib usando el método matplotlib.pyplot.table
.
matplotlib.pyplot.table()
Método
Sintaxis
matplotlib.pyplot.table(
cellText=None,
cellColours=None,
cellLoc="right",
colWidths=None,
rowLabels=None,
rowColours=None,
rowLoc="left",
colLabels=None,
colColours=None,
colLoc="center",
loc="bottom",
bbox=None,
edges="closed",
**kwargs
)
Ejemplos: Trazar una tabla en Matplotlib usando el método matplotlib.pyplot.table()
import matplotlib.pyplot as plt
fig, ax = plt.subplots(1, 1)
data = [[1, 2, 3], [5, 6, 7], [8, 9, 10]]
column_labels = ["Column 1", "Column 2", "Column 3"]
ax.axis("tight")
ax.axis("off")
ax.table(cellText=data, colLabels=column_labels, loc="center")
plt.show()
Resultado:
Este método genera una tabla a partir de los datos pasados como el parámetro cellText
en el método table()
. Los nombres de las columnas pueden ser especificados con el parámetro colLabels
, y el loc="center"
coloca la tabla en el centro de los respectivos ejes.
También podemos pasar un array de Pandas DataFrame y NumPy como parámetro cellText
para generar una tabla.
import pandas as pd
import matplotlib.pyplot as plt
fig, ax = plt.subplots(1, 1)
data = [[1, 2, 3], [5, 6, 7], [8, 9, 10]]
column_labels = ["Column 1", "Column 2", "Column 3"]
df = pd.DataFrame(data, columns=column_labels)
ax.axis("tight")
ax.axis("off")
ax.table(
cellText=df.values, colLabels=df.columns, rowLabels=["A", "B", "C"], loc="center"
)
plt.show()
Resultado:
Este proceso genera la tabla del DataFrame df
. Pasamos los valores de df
como parámetro cellText
y los nombres de las columnas de df
como colLabels
. El valor de rowLabels
actúa como una etiqueta para las filas de la tabla.
Para distinguir las etiquetas de las filas y las etiquetas de las columnas de la tabla, estilice esos campos particulares de manera diferente.
import pandas as pd
import matplotlib.pyplot as plt
fig, ax = plt.subplots(1, 1)
data = [[1, 2, 3], [5, 6, 7], [8, 9, 10]]
column_labels = ["Column 1", "Column 2", "Column 3"]
df = pd.DataFrame(data, columns=column_labels)
ax.axis("tight")
ax.axis("off")
ax.table(
cellText=df.values,
colLabels=df.columns,
rowLabels=["A", "B", "C"],
rowColours=["yellow"] * 3,
colColours=["yellow"] * 3,
loc="center",
)
plt.show()
Resultado:
Aquí, estilizamos las etiquetas de fila y las etiquetas de columna con color amarillo para distinguir estos campos del resto de la tabla; esto se hace usando los parámetros, rowColours
y colColours
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn