Data Visualization

Matplotlib Subplot-Titel meistern: Zwei effektive Ansätze

Spread the love

Matplotlib bietet verschiedene Möglichkeiten, einer Abbildung mit mehreren Subplots einen einzigen übergeordneten Titel hinzuzufügen. Dies verbessert die Lesbarkeit und liefert wichtige Kontextinformationen für Ihre Visualisierungen. Dieser Artikel untersucht zwei Hauptmethoden und hebt deren Ähnlichkeiten und subtile Unterschiede hervor.

Inhaltsverzeichnis

Verwendung von pyplot.suptitle()

Die Funktion pyplot.suptitle() bietet eine prägnante Möglichkeit, einen Haupttitel hinzuzufügen. Sie ist Teil des Moduls matplotlib.pyplot (typischerweise importiert als plt). Diese Methode ist unkompliziert und weit verbreitet.


import matplotlib.pyplot as plt

# Beispieldaten
x = [1, 2, 3, 4, 5]
y1 = [2, 4, 1, 3, 5]
y2 = [1, 3, 5, 2, 4]

# Subplots erstellen
fig, axes = plt.subplots(2, 1)

# Daten plotten
axes[0].plot(x, y1)
axes[0].set_title('Subplot 1')
axes[1].plot(x, y2)
axes[1].set_title('Subplot 2')

# Haupttitel hinzufügen
plt.suptitle('Haupttitel der Abbildung', fontsize=14)

# Layout anpassen (wichtig, um Überlappungen zu vermeiden)
plt.tight_layout(rect=[0, 0.03, 1, 0.95]) 

plt.show()

Die Funktion plt.tight_layout() ist unerlässlich. Sie passt die Subplot-Parameter automatisch an, um Titelüberlappungen zu vermeiden. Der Parameter rect verfeinert das Layout; möglicherweise müssen Sie seine Werte abhängig von der Länge Ihres Titels und der Anzahl der Subplots anpassen.

Verwendung von figure.suptitle()

Alternativ bietet die Methode figure.suptitle(), die über das Figure-Objekt selbst aufgerufen wird, eine gleichwertige Funktionalität. Dieser Ansatz entspricht einem objektorientierten Programmierstil.


import matplotlib.pyplot as plt

# Beispieldaten (wie oben)
x = [1, 2, 3, 4, 5]
y1 = [2, 4, 1, 3, 5]
y2 = [1, 3, 5, 2, 4]

# Subplots erstellen
fig, axes = plt.subplots(2, 1)

# Daten plotten
axes[0].plot(x, y1)
axes[0].set_title('Subplot 1')
axes[1].plot(x, y2)
axes[1].set_title('Subplot 2')

# Haupttitel über das Figure-Objekt hinzufügen
fig.suptitle('Haupttitel der Abbildung (Objektorientiert)', fontsize=14)

# Layout anpassen
plt.tight_layout(rect=[0, 0.03, 1, 0.95])

plt.show()

Dieser Code spiegelt das vorherige Beispiel wider und demonstriert den austauschbaren Charakter dieser beiden Methoden.

Die richtige Methode wählen

Beide Methoden erzielen identische Ergebnisse. Die Wahl hängt oft von persönlichen Vorlieben oder dem Programmierstil ab. pyplot.suptitle() ist prägnanter, während figure.suptitle() besser zu einem strikt objektorientierten Ansatz passt. Konsistenz innerhalb Ihres Projekts ist entscheidend. Denken Sie daran, immer plt.tight_layout() zu verwenden oder die Subplot-Parameter manuell anzupassen, um eine übersichtliche und lesbare Abbildung zu gewährleisten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert