matplotlib.layout_engine#

Klassen zum Anordnen von Elementen in einer Figure.

Figuren haben eine layout_engine Eigenschaft, die eine Unterklasse von LayoutEngine enthält, die hier definiert ist (oder *None* für keine Layouts). Zum Zeichenzeitpunkt wird figure.get_layout_engine().execute() aufgerufen, dessen Ziel es normalerweise ist, Axes auf der Figur neu anzuordnen, um ein ansprechendes Layout zu erzeugen. Dies ist wie ein draw Callback, jedoch mit zwei Unterschieden. Erstens, beim Drucken deaktivieren wir die Layout-Engine für den endgültigen Zeichenvorgang. Zweitens ist es nützlich, die Layout-Engine während der Erstellung der Figur zu kennen. Insbesondere werden Colorbars aus historischen Gründen mit unterschiedlichen Layout-Engines unterschiedlich erstellt.

Matplotlib hat zwei integrierte Layout-Engines

Drittanbieter können ihre eigene Layout-Engine erstellen, indem sie von LayoutEngine ableiten.

class matplotlib.layout_engine.ConstrainedLayoutEngine(*, h_pad=None, w_pad=None, hspace=None, wspace=None, rect=(0, 0, 1, 1), compress=False, **kwargs)[Quelle]#

Implementiert das Geometriemanagement von constrained_layout. Siehe Anleitung zu Constrained Layout für Details.

Initialisiert die Einstellungen für constrained_layout.

Parameter:
h_pad, w_padfloat

Abstand um die Axes-Elemente in Zoll. Standardmäßig rcParams["figure.constrained_layout.h_pad"] (Standard: 0.04167) und rcParams["figure.constrained_layout.w_pad"] (Standard: 0.04167).

hspace, wspacefloat

Anteil der Figur, der für den Abstand zwischen den Axes vorgesehen ist. Diese werden gleichmäßig zwischen den Lücken zwischen den Axes verteilt. Ein Wert von 0,2 für ein Layout mit drei Spalten hätte einen Abstand von 0,1 der Figurenbreite zwischen jeder Spalte. Wenn h/wspace < h/w_pad, dann werden die Pads verwendet. Standardmäßig rcParams["figure.constrained_layout.hspace"] (Standard: 0.02) und rcParams["figure.constrained_layout.wspace"] (Standard: 0.02).

recttuple aus 4 floats

Rechteck in Figure-Koordinaten, in dem das Constrained Layout ausgeführt wird (links, unten, Breite, Höhe), jeweils von 0-1.

compressbool

Ob die Axes verschoben werden sollen, damit der Leerraum dazwischen entfernt wird. Dies ist nützlich für einfache Gitter von Axes mit festem Seitenverhältnis (z. B. ein Gitter von Bildern). Siehe Gitter von Axes mit festem Seitenverhältnis: "komprimiertes" Layout.

property adjust_compatible#

Gibt einen booleschen Wert zurück, ob die Layout-Engine mit subplots_adjust kompatibel ist.

property colorbar_gridspec#

Gibt einen booleschen Wert zurück, ob die Layout-Engine Colorbars mithilfe eines Gridspec erstellt.

execute(fig)[Quelle]#

Führt constrained_layout aus und verschiebt und verkleinert Axes entsprechend.

Parameter:
figFigure, auf der das Layout ausgeführt werden soll.
get()[Quelle]#

Gibt eine Kopie der Parameter für die Layout-Engine zurück.

set(*, h_pad=None, w_pad=None, hspace=None, wspace=None, rect=None)[Quelle]#

Legt die Pads für constrained_layout fest.

Parameter:
h_pad, w_padfloat

Abstand um die Axes-Elemente in Zoll. Standardmäßig rcParams["figure.constrained_layout.h_pad"] (Standard: 0.04167) und rcParams["figure.constrained_layout.w_pad"] (Standard: 0.04167).

hspace, wspacefloat

Anteil der Figur, der für den Abstand zwischen den Axes vorgesehen ist. Diese werden gleichmäßig zwischen den Lücken zwischen den Axes verteilt. Ein Wert von 0,2 für ein Layout mit drei Spalten hätte einen Abstand von 0,1 der Figurenbreite zwischen jeder Spalte. Wenn h/wspace < h/w_pad, dann werden die Pads verwendet. Standardmäßig rcParams["figure.constrained_layout.hspace"] (Standard: 0.02) und rcParams["figure.constrained_layout.wspace"] (Standard: 0.02).

recttuple aus 4 floats

Rechteck in Figure-Koordinaten, in dem das Constrained Layout ausgeführt wird (links, unten, Breite, Höhe), jeweils von 0-1.

class matplotlib.layout_engine.LayoutEngine(**kwargs)[Quelle]#

Basisklasse für Matplotlib Layout-Engines.

Eine Layout-Engine kann der Figur bei der Instanziierung oder jederzeit mit set_layout_engine übergeben werden. Sobald sie an eine Figur angehängt ist, wird die Funktion execute der Layout-Engine zur Zeichenzeit von draw aufgerufen, was einen speziellen Hook zur Zeichenzeit bietet.

Hinweis

Beachten Sie jedoch, dass Layout-Engines die Erstellung von Colorbars beeinflussen, daher sollte set_layout_engine aufgerufen werden, bevor Colorbars erstellt werden.

Derzeit gibt es zwei Eigenschaften von LayoutEngine-Klassen, die bei der Manipulation der Figur abgefragt werden

Implementierung einer benutzerdefinierten LayoutEngine

  1. überschreiben Sie _adjust_compatible und _colorbar_gridspec

  2. überschreiben Sie LayoutEngine.set, um self._params zu aktualisieren

  3. überschreiben Sie LayoutEngine.execute mit Ihrer Implementierung

property adjust_compatible#

Gibt einen booleschen Wert zurück, ob die Layout-Engine mit subplots_adjust kompatibel ist.

property colorbar_gridspec#

Gibt einen booleschen Wert zurück, ob die Layout-Engine Colorbars mithilfe eines Gridspec erstellt.

execute(fig)[Quelle]#

Führt das Layout für die Figur fig aus.

get()[Quelle]#

Gibt eine Kopie der Parameter für die Layout-Engine zurück.

set(**kwargs)[Quelle]#

Legt die Parameter für die Layout-Engine fest.

class matplotlib.layout_engine.PlaceHolderLayoutEngine(adjust_compatible, colorbar_gridspec, **kwargs)[Quelle]#

Diese Layout-Engine passt das Figurenlayout überhaupt nicht an.

Der Zweck dieser LayoutEngine ist es, als Platzhalter zu fungieren, wenn der Benutzer eine Layout-Engine entfernt, um sicherzustellen, dass später keine inkompatible LayoutEngine gesetzt werden kann.

Parameter:
adjust_compatible, colorbar_gridspecbool

Erlaubt der PlaceHolderLayoutEngine, das Verhalten jeder ersetzten Layout-Engine zu spiegeln.

property adjust_compatible#

Gibt einen booleschen Wert zurück, ob die Layout-Engine mit subplots_adjust kompatibel ist.

property colorbar_gridspec#

Gibt einen booleschen Wert zurück, ob die Layout-Engine Colorbars mithilfe eines Gridspec erstellt.

execute(fig)[Quelle]#

Tut nichts.

get()[Quelle]#

Gibt eine Kopie der Parameter für die Layout-Engine zurück.

set(**kwargs)[Quelle]#

Legt die Parameter für die Layout-Engine fest.

class matplotlib.layout_engine.TightLayoutEngine(*, pad=1.08, h_pad=None, w_pad=None, rect=(0, 0, 1, 1), **kwargs)[Quelle]#

Implementiert das Geometriemanagement von tight_layout. Siehe Anleitung zu Tight Layout für Details.

Initialisiert die tight_layout-Engine.

Parameter:
padfloat, Standard: 1.08

Abstand zwischen dem Rand der Abbildung und den Rändern der Subplots, als Bruchteil der Schriftgröße.

h_pad, w_padfloat

Abstand (Höhe/Breite) zwischen den Rändern benachbarter Subplots. Standardwert ist pad.

recttuple (links, unten, rechts, oben), Standard: (0, 0, 1, 1).

Rechteck in normalisierten Figure-Koordinaten, in das die Subplots (einschließlich Beschriftungen) passen.

property adjust_compatible#

Gibt einen booleschen Wert zurück, ob die Layout-Engine mit subplots_adjust kompatibel ist.

property colorbar_gridspec#

Gibt einen booleschen Wert zurück, ob die Layout-Engine Colorbars mithilfe eines Gridspec erstellt.

execute(fig)[Quelle]#

Führt tight_layout aus.

Dies legt die Subplot-Parameter fest, basierend auf dem Padding, das es den Achsenbeschriftungen erlaubt, nicht von anderen Beschriftungen und Achsen verdeckt zu werden.

Parameter:
figFigure, auf der das Layout ausgeführt werden soll.
get()[Quelle]#

Gibt eine Kopie der Parameter für die Layout-Engine zurück.

set(*, pad=None, w_pad=None, h_pad=None, rect=None)[Quelle]#

Legt die Pads für tight_layout fest.

Parameter:
padfloat

Abstand zwischen dem Rand der Abbildung und den Rändern der Subplots, als Bruchteil der Schriftgröße.

w_pad, h_padfloat

Padding (Breite/Höhe) zwischen den Rändern benachbarter Subplots. Standardmäßig pad.

recttuple (links, unten, rechts, oben)

Rechteck in normalisierten Figure-Koordinaten, in das die Subplots (einschließlich Beschriftungen) passen.