Oft können Sie Subplots verwenden, um in Matplotlib mehrere Diagramme nebeneinander anzuzeigen. Leider überlappen sich diese Subplots standardmäßig.

Der einfachste Weg, um dieses Problem zu beheben, ist die Verwendung der Matplotlib-Funktion tight_layout(). In diesem Tutorial wird erklärt, wie diese Funktion in der Praxis verwendet wird.

Subplots erstellen

Betrachten Sie die folgende Anordnung von 4 Subplots in 2 Spalten und 2 Zeilen:

import matplotlib.pyplot as plt

# Subplots definieren
fig, ax = plt.subplots(2, 2)

# Subplots anzeigen
plt.show()

Subplot-Spacing

Beachten Sie, wie sich die Subplots ein wenig überlappen.

Anpassen des Abstands von Subplots mithilfe von tight_layout()

Der einfachste Weg, um dieses überlappende Problem zu beheben, ist die Verwendung der Matplotlib-Funktion tight_layout ():

import matplotlib.pyplot as plt

# Subplots definieren
fig, ax = plt.subplots(2, 2)
fig.tight_layout()

# Subplots anzeigen
plt.show()

Passen Sie den Abstand der Matplotlib-Subplots an

Passen Sie den Abstand der Unterzeichnungstitel an

In einigen Fällen haben Sie möglicherweise auch Titel für jede Ihrer Subplots. Leider führt sogar die Funktion strict_layout() dazu, dass sich die Titel des Subplots überlappen:

import matplotlib.pyplot as plt

# Subplots definieren
fig, ax = plt.subplots(2, 2)
fig.tight_layout()

# Subplot-Titel definieren
ax[0, 0].set_title('First Subplot')
ax[0, 1].set_title('Second Subplot')
ax[1, 0].set_title('Third Subplot')
ax[1, 1].set_title('Fourth Subplot')

# Subplots anzeigen
plt.show()

Subplots mit Titeln in Matplotlib

Sie können dieses Problem beheben, indem Sie den Höhenabstand zwischen Subplots mithilfe des Arguments h_pad erhöhen:

import matplotlib.pyplot as plt

# Subplots definieren
fig, ax = plt.subplots(2, 2)
fig.tight_layout(h_pad=2)

# Subplot-Titel definieren
ax[0, 0].set_title('First Subplot')
ax[0, 1].set_title('Second Subplot')
ax[1, 0].set_title('Third Subplot')
ax[1, 1].set_title('Fourth Subplot')

# Subplots anzeigen
plt.show()

Matplotlib-Subplot-Titelabstand

Passen Sie den Abstand des Gesamttitels an

Wenn Sie einen Gesamttitel haben, können Sie die Funktion subplots_adjust() verwenden, um sicherzustellen, dass er sich nicht mit den Titeln des Subplots überschneidet:

import matplotlib.pyplot as plt

# Subplots definieren
fig, ax = plt.subplots(2, 2)
fig.tight_layout(h_pad=2)

# Subplot-Titel definieren
ax[0, 0].set_title('First Subplot')
ax[0, 1].set_title('Second Subplot')
ax[1, 0].set_title('Third Subplot')
ax[1, 1].set_title('Fourth Subplot')

# Gesamttitel hinzufügen und passen Sie ihn so an, dass er sich nicht mit Subplottiteln überschneidet
fig.suptitle('Overall Title')
plt.subplots_adjust(top=0.85)

# Subplots anzeigen
plt.show()

Titelabstand in Matplotlib

Weitere Matplotlib-Tutorials finden Sie hier.

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: