Achsen mit eingeschränktem Layout skalieren#

Eingeschränktes Layout versucht, Subplots in einer Abbildung zu skalieren, sodass es keine Überlappungen zwischen Achsenobjekten und Beschriftungen auf den Achsen gibt.

Weitere Details finden Sie im Leitfaden zum eingeschränkten Layout und als Alternative im Leitfaden zum engen Layout.

import matplotlib.pyplot as plt


def example_plot(ax):
    ax.plot([1, 2])
    ax.set_xlabel('x-label', fontsize=12)
    ax.set_ylabel('y-label', fontsize=12)
    ax.set_title('Title', fontsize=14)

Wenn wir *eingeschränktes Layout* nicht verwenden, überlappen sich die Beschriftungen mit den Achsen

fig, axs = plt.subplots(nrows=2, ncols=2, layout=None)

for ax in axs.flat:
    example_plot(ax)
Title, Title, Title, Title

das Hinzufügen von layout='constrained' passt automatisch an.

fig, axs = plt.subplots(nrows=2, ncols=2, layout='constrained')

for ax in axs.flat:
    example_plot(ax)
Title, Title, Title, Title

Unten ist ein komplizierteres Beispiel mit verschachtelten Gridspecs.

fig = plt.figure(layout='constrained')

import matplotlib.gridspec as gridspec

gs0 = gridspec.GridSpec(1, 2, figure=fig)

gs1 = gridspec.GridSpecFromSubplotSpec(3, 1, subplot_spec=gs0[0])
for n in range(3):
    ax = fig.add_subplot(gs1[n])
    example_plot(ax)


gs2 = gridspec.GridSpecFromSubplotSpec(2, 1, subplot_spec=gs0[1])
for n in range(2):
    ax = fig.add_subplot(gs2[n])
    example_plot(ax)

plt.show()
Title, Title, Title, Title, Title

Referenzen

Die Verwendung der folgenden Funktionen, Methoden, Klassen und Module wird in diesem Beispiel gezeigt

Tags: Komponente: Achsen Komponente: Subplot Stil: Größe Level: Anfänger

Gesamtlaufzeit des Skripts: (0 Minuten 4,765 Sekunden)

Galerie generiert von Sphinx-Gallery