Plotar uma tabela em Matplotlib
Podemos traçar uma tabela em Matplotlib utilizando o método matplotlib.pyplot.table
.
matplotlib.pyplot.table()
Método
Sintaxe
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
)
Exemplos: Traçar uma tabela em Matplotlib Utilizando o matplotlib.pyplot.table()
Método
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 gera uma tabela a partir dos dados passados como o parâmetro cellText
no método table()
. Os nomes das colunas podem ser especificados com o parâmetro colLabels
, e o parâmetro loc="center"
coloca a tabela no centro dos respectivos eixos.
Também podemos passar uma Pandas DataFrame e NumPy array como parâmetro cellText
para gerar uma tabela.
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 processo gera a tabela a partir do DataFrame df
. Passamos os valores de df
como parâmetro cellText
e os nomes das colunas de df
como colLabels
. O valor rowLabels
funciona como um rótulo para as linhas da tabela.
Para distinguir os rótulos das linhas e das colunas na tabela, estilo esses campos particulares de forma 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:
Aqui, estilizamos as etiquetas das linhas e as etiquetas das colunas com cor amarela para distinguir estes campos do resto da tabela; isto é feito utilizando os parâmetros, rowColours
, e colColours
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn