Wie wird eine Tabelle in Matplotlib geplottet

Suraj Joshi 14 November 2020
Wie wird eine Tabelle in Matplotlib geplottet

Wir können eine Tabelle in der Matplotlib unter Verwendung der matplotlib.pyplot.table Methode plotten.

matplotlib.pyplot.table() Methode

Syntax

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
)

Beispiele: Plotten einer Tabelle in Matplotlib mit der Methode 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()

Ausgabe:

Einfache Tabelle mit Matplotlib

Diese Methode erzeugt eine Tabelle aus den Daten, die als cellText-Parameter in der table()-Methode übergeben werden. Die Spaltennamen können mit dem Parameter colLabels angegeben werden, und der Parameter loc="center" setzt die Tabelle in die Mitte der jeweiligen Achsen.

Wir können auch Pandas DataFrame und NumPy Arrays als cellText Parameter übergeben, um eine Tabelle zu erzeugen.

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

Ausgabe:

Tabelle mit Matplotlib mit RowLabels

Dieser Prozess generiert die Tabelle aus dem DataFrame df. Wir übergeben die Werte von df als Parameter cellText und die Spaltennamen von df als colLabels. Der Wert rowLabels fungiert als Label für die Zeilen der Tabelle.

Um die Zeilen- und Spaltenbeschriftungen in der Tabelle zu unterscheiden, gestalten Sie diese speziellen Felder unterschiedlich.

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

Ausgabe:

Stil Zeilen- und Spaltenbeschriftungen Tabelle Matplotlib

Hier stylen wir die Zeilen- und Spaltenbeschriftungen mit gelber Farbe, um diese Felder vom Rest der Tabelle zu unterscheiden; dies geschieht mit Hilfe der Parameter rowColours und colColours.

Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn