matplotlib.table#

Zeichnen von Tabellen.

Hinweis

Die Tabellenimplementierung in Matplotlib wird nur leicht gepflegt. Für eine funktionsreichere Tabellenimplementierung könnten Sie blume ausprobieren.

Verwenden Sie die Factory-Funktion table, um eine fertige Tabelle aus Texten zu erstellen. Wenn Sie mehr Kontrolle benötigen, verwenden Sie die Klasse Table und deren Methoden.

Die Tabelle besteht aus einem Gitter von Zellen, die durch (Zeile, Spalte) indiziert werden. Die Zelle (0, 0) befindet sich oben links.

Danke an John Gill für die Bereitstellung der Klasse und der Tabelle.

class matplotlib.table.Cell(xy, width, height, *, edgecolor='k', facecolor='w', fill=True, text='', loc='right', fontproperties=None, visible_edges='closed')[Quelle]#

Bases: Rectangle

Eine Zelle ist ein Rectangle mit einem zugehörigen Text.

Als Benutzer werden Sie höchstwahrscheinlich keine Zellen selbst erstellen. Stattdessen sollten Sie entweder die Factory-Funktion table oder Table.add_cell verwenden.

Parameter:
xy2-Tupel

Die Position der unteren linken Ecke der Zelle.

widthfloat

Die Zellbreite.

heightfloat

Die Zellhöhe.

edgecolorFarbe, Standard: 'k'

Die Farbe des Zellrandes.

facecolorFarbe, Standard: 'w'

Die Zell-Hintergrundfarbe.

fillbool, Standard: True

Ob der Zellhintergrund gefüllt ist.

textstr, optional

Der Zelltext.

loc{'right', 'center', 'left'}

Die Ausrichtung des Textes innerhalb der Zelle.

fontpropertiesdict, optional

Ein Dictionary, das die Font-Eigenschaften des Textes definiert. Unterstützte Schlüssel und Werte sind die Schlüsselwortargumente, die von FontProperties akzeptiert werden.

visible_edges{'closed', 'open', 'horizontal', 'vertical'} oder Teilzeichenkette von 'BRTL'

Die zu zeichnenden Zellränder mit einer Linie: eine Teilzeichenkette von 'BRTL' (unten, rechts, oben, links) oder 'open' (keine Ränder gezeichnet), 'closed' (alle Ränder gezeichnet), 'horizontal' (unten und oben), 'vertical' (rechts und links).

PAD = 0.1#

Abstand zwischen Text und Rechteck.

auto_set_font_size(renderer)[Quelle]#

Verkleinert die Schriftgröße, bis der Text in die Zellbreite passt.

draw(renderer)[Quelle]#

Zeichnet den Künstler (und seine Kinder) mit dem gegebenen Renderer.

Dies hat keine Auswirkung, wenn der Künstler nicht sichtbar ist (Artist.get_visible gibt False zurück).

Parameter:
rendererRendererBase Unterklasse.

Anmerkungen

Diese Methode wird in den Künstler-Unterklassen überschrieben.

get_fontsize()[Quelle]#

Gibt die Schriftgröße der Zelle zurück.

get_path()[Quelle]#

Gibt einen Path für die visible_edges zurück.

get_required_width(renderer)[Quelle]#

Gibt die minimal erforderliche Breite für die Zelle zurück.

get_text()[Quelle]#

Gibt die Text-Instanz der Zelle zurück.

get_text_bounds(renderer)[Quelle]#

Gibt die Textgrenzen als (x, y, Breite, Höhe) in Tabellenkoordinaten zurück.

set(*, agg_filter=<UNSET>, alpha=<UNSET>, angle=<UNSET>, animated=<UNSET>, antialiased=<UNSET>, bounds=<UNSET>, capstyle=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, color=<UNSET>, edgecolor=<UNSET>, facecolor=<UNSET>, fill=<UNSET>, fontsize=<UNSET>, gid=<UNSET>, hatch=<UNSET>, hatch_linewidth=<UNSET>, height=<UNSET>, in_layout=<UNSET>, joinstyle=<UNSET>, label=<UNSET>, linestyle=<UNSET>, linewidth=<UNSET>, mouseover=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, text_props=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, width=<UNSET>, x=<UNSET>, xy=<UNSET>, y=<UNSET>, zorder=<UNSET>)[Quelle]#

Setzt mehrere Eigenschaften auf einmal.

Unterstützte Eigenschaften sind

Eigenschaft

Beschreibung

agg_filter

eine Filterfunktion, die ein (m, n, 3) Float-Array und einen dpi-Wert entgegennimmt und ein (m, n, 3) Array und zwei Offsets von der linken unteren Ecke des Bildes zurückgibt

alpha

float oder None

angle

unknown

animated

bool

antialiased oder aa

bool oder None

Grenzen

(links, unten, Breite, Höhe)

capstyle

CapStyle oder {'butt', 'projecting', 'round'}

clip_box

BboxBase oder None

clip_on

bool

clip_path

Patch oder (Path, Transform) oder None

color

color

edgecolor oder ec

Farbe oder None

facecolor oder fc

Farbe oder None

figure

unknown

füllen

bool

Schriftgröße

unknown

gid

str

Muster (hatch)

{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}

hatch_linewidth

unknown

Höhe

unknown

in_layout

bool

joinstyle

JoinStyle oder {'miter', 'round', 'bevel'}

label

object

linestyle oder ls

{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}

linewidth oder lw

float oder None

mouseover

bool

path_effects

liste von AbstractPathEffect

picker

None oder bool oder float oder callable

rasterized

bool

sketch_params

(scale: float, length: float, randomness: float)

snap

bool oder None

text_props

unknown

transform

unknown

url

str

visible

bool

width

unknown

x

unknown

xy

(float, float)

y

unknown

zorder

float

set_figure(fig)[Quelle]#

Legt die Figure- oder SubFigure-Instanz fest, zu der der Artist gehört.

Parameter:
figFigure oder SubFigure
set_fontsize(size)[Quelle]#

Legt die Schriftgröße des Textes fest.

set_text_props(**kwargs)[Quelle]#

Aktualisiert die Texteigenschaften.

Gültige Schlüsselwortargumente sind

Eigenschaft

Beschreibung

agg_filter

eine Filterfunktion, die ein (m, n, 3) Float-Array und einen dpi-Wert entgegennimmt und ein (m, n, 3) Array und zwei Offsets von der linken unteren Ecke des Bildes zurückgibt

alpha

float oder None

animated

bool

antialiased

bool

backgroundcolor

color

bbox

dict mit Eigenschaften für patches.FancyBboxPatch

clip_box

unknown

clip_on

unknown

clip_path

unknown

color oder c

color

figure

Figure oder SubFigure

fontfamily oder family oder fontname

{FONTNAME, 'serif', 'sans-serif', 'cursive', 'fantasy', 'monospace'}

fontproperties oder font oder font_properties

font_manager.FontProperties oder str oder pathlib.Path

fontsize oder size

float oder {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}

fontstretch oder stretch

{ein numerischer Wert im Bereich 0-1000, 'ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded'}

fontstyle oder style

{'normal', 'italic', 'oblique'}

fontvariant oder variant

{'normal', 'small-caps'}

fontweight oder weight

{ein numerischer Wert im Bereich 0-1000, 'ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi', 'bold', 'heavy', 'extra bold', 'black'}

gid

str

horizontalalignment oder ha

{'left', 'center', 'right'}

in_layout

bool

label

object

linespacing

float (Vielfaches der Schriftgröße)

math_fontfamily

str

mouseover

bool

multialignment oder ma

{'left', 'right', 'center'}

parse_math

bool

path_effects

liste von AbstractPathEffect

picker

None oder bool oder float oder callable

position

(float, float)

rasterized

bool

rotation

float oder {'vertical', 'horizontal'}

rotation_mode

{None, 'default', 'anchor'}

sketch_params

(scale: float, length: float, randomness: float)

snap

bool oder None

text

object

transform

Transform

transform_rotates_text

bool

url

str

usetex

bool, Standard: rcParams["text.usetex"] (Standard: False)

verticalalignment oder va

{'baseline', 'bottom', 'center', 'center_baseline', 'top'}

visible

bool

wrap

bool

x

float

y

float

zorder

float

set_transform(t)[Quelle]#

Legt die Artist-Transformation fest.

Parameter:
tTransform
property visible_edges#

Die zu zeichnenden Zellränder mit einer Linie.

Das Lesen dieser Eigenschaft gibt eine Teilzeichenkette von 'BRTL' (unten, rechts, oben, links) zurück.

Beim Festlegen dieser Eigenschaft können Sie eine Teilzeichenkette von 'BRTL' oder eine der folgenden Optionen verwenden: {'open', 'closed', 'horizontal', 'vertical'}.

matplotlib.table.CustomCell[Quelle]#

Alias von Cell

class matplotlib.table.Table(ax, loc=None, bbox=None, ***kwargs)[Quelle]#

Bases: Artist

Eine Tabelle von Zellen.

Die Tabelle besteht aus einem Gitter von Zellen, die durch (Zeile, Spalte) indiziert werden.

Für eine einfache Tabelle haben Sie ein vollständiges Gitter von Zellen mit Indizes von (0, 0) bis (Anzahl_Zeilen-1, Anzahl_Spalten-1), bei dem die Zelle (0, 0) oben links positioniert ist. Sie können jedoch auch Zellen mit negativen Indizes hinzufügen. Sie müssen nicht zu jeder Gitterposition eine Zelle hinzufügen, sodass Sie Tabellen mit Lücken erstellen können.

Hinweis: Normalerweise erstellen Sie keine leere Tabelle von Grund auf. Verwenden Sie stattdessen table, um eine Tabelle aus Daten zu erstellen.

Parameter:
axAxes

Die Axes, in die die Tabelle gezeichnet werden soll.

locstr, optional

Die Position der Zelle relativ zu ax. Dies muss einer der codes sein.

bboxBbox oder [xmin, ymin, Breite, Höhe], optional

Ein Begrenzungsrahmen, in den die Tabelle gezeichnet werden soll. Wenn dieser nicht None ist, überschreibt er loc.

Andere Parameter:
**kwargs

Artist Eigenschaften.

AXESPAD = 0.02#

Der Rand zwischen den Achsen und dem Tabellenrand in Achsen-Einheiten.

FONTSIZE = 10#
add_cell(row, col, *args, ***kwargs)[Quelle]#

Erstellt eine Zelle und fügt sie zur Tabelle hinzu.

Parameter:
rowint

Zeilenindex.

colint

Spaltenindex.

*args, **kwargs

Alle anderen Parameter werden an Cell weitergeleitet.

Gibt zurück:
Zelle

Die erstellte Zelle.

auto_set_column_width(col)[Quelle]#

Setzt automatisch die Breiten der angegebenen Spalten auf optimale Größen.

Parameter:
colint oder Sequenz von ints

Die Indizes der zu skalierenden Spalten.

auto_set_font_size(value=True)[Quelle]#

Automatische Einstellung der Schriftgröße.

codes = { 'best': 0, 'bottom': 17, 'bottom left': 12, 'bottom right': 13, 'center': 9, 'center left': 5, 'center right': 6, 'left': 15, 'lower center': 7, 'lower left': 3, 'lower right': 4, 'right': 14, 'top': 16, 'top left': 11, 'top right': 10, 'upper center': 8, 'upper left': 2, 'upper right': 1}#

Mögliche Werte, wo die Tabelle relativ zu den Achsen platziert werden soll.

contains(mouseevent)[Quelle]#

Testet, ob der Künstler das Mausereignis enthält.

Parameter:
mouseeventMouseEvent
Gibt zurück:
containsbool

Gibt an, ob Werte innerhalb des Radius liegen.

detailsdict

Ein Künstler-spezifisches Wörterbuch mit Details zum Ereigniskontext, wie z. B. welche Punkte sich im Auswahlradius befinden. Details finden Sie in den einzelnen Künstler-Unterklassen.

draw(renderer)[Quelle]#

Zeichnet den Künstler (und seine Kinder) mit dem gegebenen Renderer.

Dies hat keine Auswirkung, wenn der Künstler nicht sichtbar ist (Artist.get_visible gibt False zurück).

Parameter:
rendererRendererBase Unterklasse.

Anmerkungen

Diese Methode wird in den Künstler-Unterklassen überschrieben.

property edges#

Der Standardwert von visible_edges für neu hinzugefügte Zellen mit add_cell.

Anmerkungen

Diese Einstellung wirkt sich derzeit nur auf neu erstellte Zellen aus, die mit add_cell erstellt wurden.

Um bestehende Zellen zu ändern, müssen Sie deren Ränder explizit festlegen.

for c in tab.get_celld().values():
    c.visible_edges = 'horizontal'
get_celld()[Quelle]#

Gibt ein Dictionary von Zellen in der Tabelle zurück, das (Zeile, Spalte) auf Cells abbildet.

Anmerkungen

Sie können auch direkt über das Tabellenobjekt auf einzelne Zellen zugreifen.

cell = table[row, col]
get_children()[Quelle]#

Gibt die von der Tabelle enthaltenen Künstler zurück.

get_window_extent(renderer=None)[Quelle]#

Ruft die Bounding Box des Künstlers im Anzeigeraum ab.

Die Breite und Höhe der Bounding Box sind nicht negativ.

Unterklassen sollten für die Aufnahme in die "enge" Bounding-Box-Berechnung überschrieben werden. Standard ist die Rückgabe einer leeren Bounding Box bei 0, 0.

Seien Sie vorsichtig bei der Verwendung dieser Funktion, die Ergebnisse werden nicht aktualisiert, wenn sich die Fenstererweiterung des Künstlers ändert. Die Erweiterung kann sich aufgrund von Änderungen im Transformationsstapel ändern, wie z. B. Änderungen der Axes-Limits, der Figure-Größe oder der verwendeten Canvas (wie beim Speichern einer Figure). Dies kann zu unerwartetem Verhalten führen, bei dem interaktive Figures auf dem Bildschirm gut aussehen, aber falsch gespeichert werden.

scale(xscale, yscale)[Quelle]#

Skaliert Spaltenbreiten mit xscale und Zeilenhöhen mit yscale.

set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, fontsize=<UNSET>, gid=<UNSET>, in_layout=<UNSET>, label=<UNSET>, mouseover=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[Quelle]#

Setzt mehrere Eigenschaften auf einmal.

Unterstützte Eigenschaften sind

Eigenschaft

Beschreibung

agg_filter

eine Filterfunktion, die ein (m, n, 3) Float-Array und einen dpi-Wert entgegennimmt und ein (m, n, 3) Array und zwei Offsets von der linken unteren Ecke des Bildes zurückgibt

alpha

float oder None

animated

bool

clip_box

BboxBase oder None

clip_on

bool

clip_path

Patch oder (Path, Transform) oder None

figure

Figure oder SubFigure

Schriftgröße

float

gid

str

in_layout

bool

label

object

mouseover

bool

path_effects

liste von AbstractPathEffect

picker

None oder bool oder float oder callable

rasterized

bool

sketch_params

(scale: float, length: float, randomness: float)

snap

bool oder None

transform

Transform

url

str

visible

bool

zorder

float

set_fontsize(size)[Quelle]#

Setzt die Schriftgröße in Punkten für den Zelltext.

Parameter:
sizefloat

Anmerkungen

Solange die automatische Schriftgrößenanpassung nicht deaktiviert wurde, wird der Wert so begrenzt, dass der Text horizontal in die Zelle passt.

Sie können dieses Verhalten mit auto_set_font_size deaktivieren.

>>> the_table.auto_set_font_size(False)
>>> the_table.set_fontsize(20)

Es gibt jedoch keine automatische Skalierung der Zeilenhöhe, sodass der Text die Zellgrenze überschreiten kann.

matplotlib.table.table(ax, 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)[Quelle]#

Fügt eine Tabelle zu einem Axes hinzu.

Mindestens einer der Parameter cellText oder cellColours muss angegeben werden. Diese Parameter müssen 2D-Listen sein, wobei die äußeren Listen die Zeilen und die inneren Listen die Spaltenwerte pro Zeile definieren. Jede Zeile muss die gleiche Anzahl von Elementen haben.

Die Tabelle kann optional Zeilen- und Spaltenüberschriften haben, die mit rowLabels, rowColours, rowLoc und colLabels, colColours, colLoc konfiguriert werden.

Für eine detailliertere Kontrolle über Tabellen verwenden Sie die Klasse Table und fügen Sie sie mit Axes.add_table zu den Achsen hinzu.

Parameter:
cellText2D-Liste von str oder pandas.DataFrame, optional

Die Texte, die in die Tabellenzellen platziert werden sollen.

Hinweis: Zeilenumbrüche in den Zeichenketten werden derzeit nicht berücksichtigt und führen dazu, dass der Text die Zellgrenzen überschreitet.

cellColours2D-Liste von Farben, optional

Die Hintergrundfarben der Zellen.

cellLoc{'right', 'center', 'left'}

Die Ausrichtung des Textes innerhalb der Zellen.

colWidthsListe von float, optional

Die Spaltenbreiten in Einheiten der Achsen. Wenn nicht angegeben, haben alle Spalten eine Breite von 1 / ncols.

rowLabelsListe von str, optional

Der Text der Zeilenkopfzellen.

rowColoursListe von Farben, optional

Die Farben der Zeilenkopfzellen.

rowLoc{'left', 'center', 'right'}

Die Textausrichtung der Zeilenkopfzellen.

colLabelsListe von str, optional

Der Text der Spaltenkopfzellen.

colColoursListe von Farben, optional

Die Farben der Spaltenkopfzellen.

colLoc{'center', 'left', 'right'}

Die Textausrichtung der Spaltenkopfzellen.

locstr, Standard: 'bottom'

Die Position der Zelle relativ zu ax. Dies muss einer der codes sein.

bboxBbox oder [xmin, ymin, Breite, Höhe], optional

Ein Begrenzungsrahmen, in den die Tabelle gezeichnet werden soll. Wenn dieser nicht None ist, überschreibt er loc.

edges{'closed', 'open', 'horizontal', 'vertical'} oder Teilzeichenkette von 'BRTL'

Die Zellkanten, die mit einer Linie gezeichnet werden sollen. Siehe auch visible_edges.

Gibt zurück:
Tabelle

Die erstellte Tabelle.

Andere Parameter:
**kwargs

Table-Eigenschaften.

Eigenschaft

Beschreibung

agg_filter

eine Filterfunktion, die ein (m, n, 3) Float-Array und einen dpi-Wert entgegennimmt und ein (m, n, 3) Array und zwei Offsets von der linken unteren Ecke des Bildes zurückgibt

alpha

float oder None

animated

bool

clip_box

BboxBase oder None

clip_on

bool

clip_path

Patch oder (Path, Transform) oder None

figure

Figure oder SubFigure

Schriftgröße

float

gid

str

in_layout

bool

label

object

mouseover

bool

path_effects

liste von AbstractPathEffect

picker

None oder bool oder float oder callable

rasterized

bool

sketch_params

(scale: float, length: float, randomness: float)

snap

bool oder None

transform

Transform

url

str

visible

bool

zorder

float