Traccia una tabella in Matplotlib

Suraj Joshi 15 febbraio 2024
Traccia una tabella in Matplotlib

Possiamo tracciare una tabella in Matplotlib usando il metodo matplotlib.pyplot.table.

Metodo matplotlib.pyplot.table()

Sintassi

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
)

Esempi: tracciare una tabella in Matplotlib utilizzando il metodo 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()

Produzione:

Tabella semplice utilizzando Matplotlib

Questo metodo genera una tabella dai dati passati come parametro cellText nel metodo table(). I nomi delle colonne possono essere specificati con il parametro colLabels, e loc="center" posiziona la tabella al centro dei rispettivi assi.

Possiamo anche passare un array Pandas DataFrame e NumPy come parametro cellText per generare una tabella.

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()

Produzione:

Tabella utilizzando Matplotlib con RowLabels

Questo processo genera la tabella dal DataFrame df. Passiamo i valori di df come parametro cellText e i nomi delle colonne di df come colLabels. Il valore rowLabels funge da etichetta per le righe della tabella.

Per distinguere le etichette di riga e di colonna nella tabella, applicare uno stile diverso a quei campi particolari.

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()

Produzione:

Tabella delle etichette di riga e colonna stile Matplotlib

Qui, modifichiamo le etichette delle righe e le etichette delle colonne con il colore giallo per distinguere questi campi dal resto della tabella; questo viene fatto utilizzando i parametri, rowColours e colColours.

Autore: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn