Anpassen von Subplot Anordnung und Größe - janehlenb/Projektarbeit-ChatGPT-Python GitHub Wiki

Einführung

In diesem Tutorial werden wir uns damit beschäftigen, wie man mehrere Diagramme in einem einzigen Fenster erstellt und anordnet. Dieses Wissen ist besonders nützlich, wenn du komplexe Daten visualisieren möchtest oder verschiedene Ansichten deiner Daten vergleichen möchtest.

Nachdem du dieses Tutorial abgeschlossen hast, wirst du in der Lage sein:

  • Mehrere Subplots zu erstellen und sie in verschiedenen Anordnungen anzuzeigen.
  • Die Größe und den Abstand der Subplots anzupassen, um den Platz optimal zu nutzen.
  • Deine Diagramme anzupassen und anzupassen, um sie ansprechend und aussagekräftig zu gestalten.

Lasst uns nun mit der Theorie beginnen!

Theorie

Subplots erstellen

In Matplotlib können wir mehrere Subplots erstellen, indem wir die Funktion subplots() verwenden. Diese Funktion ermöglicht es uns, ein Raster von Subplots zu erstellen, das aus Zeilen und Spalten besteht. Jeder Subplot wird dann anhand seiner Position im Raster identifiziert.

Hier ist ein allgemeines Code-Beispiel, das dir zeigt, wie man Subplots erstellt:

import matplotlib.pyplot as plt

fig, axes = plt.subplots(nrows=2, ncols=2)

Lass uns das anhand eines spezifischen Beispiels in Python betrachten:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2*np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)
y4 = np.exp(x)

fig, axes = plt.subplots(nrows=2, ncols=2)
axes[0, 0].plot(x, y1)
axes[0, 1].plot(x, y2)
axes[1, 0].plot(x, y3)
axes[1, 1].plot(x, y4)

plt.show()

Anpassen der Subplot-Anordnung und -Größe

Matplotlib bietet verschiedene Methoden, um die Anordnung und Größe der Subplots anzupassen. Einige der nützlichsten Methoden sind subplots_adjust(), tight_layout() und gridspec.

Mit der Funktion subplots_adjust() kannst du den Abstand zwischen den Subplots anpassen. Du kannst Parameter wie left, right, bottom, top verwenden, um den Abstand zu ändern.

import matplotlib.pyplot as plt

fig, axes = plt.subplots(nrows=2, ncols=2)
plt.subplots_adjust(left=0.1, right=0.9, bottom=0.1, top=0.9)

Die Funktion tight_layout() passt automatisch den Abstand zwischen den Subplots an, um Platz für die Achsenbeschriftungen, Titel usw. zu schaffen.

import matplotlib.pyplot as plt

fig, axes = plt.subplots(nrows=2, ncols=2)
plt.tight_layout()

Das Modul gridspec bietet eine flexiblere Möglichkeit, die Größe und Anordnung der Subplots anzupassen. Du kannst benutzerdefinierte Raster und Zellen erstellen, um die Subplots genau zu positionieren.

Hier ist ein Beispiel, das gridspec verwendet:

import matplotlib.gridspec as gridspec
import matplotlib.pyplot as plt

fig = plt.figure()
gs = gridspec.GridSpec(2, 2)

ax1 = fig.add_subplot(gs[0, 0])
ax2 = fig.add_subplot(gs[0, 1])
ax3 = fig.add_subplot(gs[1, :])

# Plots hinzufügen...

plt.show()

Praxis

Lass uns das gelernte Wissen in die Praxis umsetzen! Wir werden eine leichte und eine schwerere Aufgabe haben, um dein Verständnis zu überprüfen.

Aufgabe 1

Erstelle ein Diagramm mit zwei Subplots nebeneinander. Das erste Diagramm soll eine Sinus-Kurve und das zweite Diagramm eine Cosinus-Kurve enthalten.

Musterlösung

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2*np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)

fig, axes = plt.subplots(nrows=1, ncols=2)
axes[0].plot(x, y1)
axes[1].plot(x, y2)

plt.show()

Aufgabe 2

Erstelle ein Diagramm mit drei Subplots. Das erste Diagramm soll eine Sinus-Kurve enthalten, das zweite Diagramm eine Cosinus-Kurve und das dritte Diagramm eine Tangens-Kurve.

Musterlösung

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2*np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)

fig, axes = plt.subplots(nrows=1, ncols=3)
axes[0].plot(x, y1)
axes[1].plot(x, y2)
axes[2].plot(x, y3)

plt.show()

Fazit

Herzlichen Glückwunsch! Du hast erfolgreich Subplots erstellt und ihre Anordnung und Größe angepasst. Du bist auf dem besten Weg, beeindruckende Datenvisualisierungen mit Matplotlib zu erstellen!

Ich hoffe, du hattest Spaß bei diesem Tutorial. Weiterhin viel Erfolg beim Python-Programmieren!

Links / Weiteres Material

Dokumentation

W3Schools

YouTube