Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Unterdiagramme | Diagrammanpassung
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Ultimative Visualisierung mit Python

bookUnterdiagramme

Die Funktion subplots() aus pyplot wird verwendet, um mehrere Plots in einer einzigen Abbildung zu erstellen. Sie haben sie bereits beim Erstellen einer Zeichenfläche gesehen; nun betrachten wir sie genauer.

Zeilen und Spalten

Die wichtigsten Argumente sind nrows und ncolumns, die das Raster der Unterdiagramme definieren. Standardmäßig sind beide auf 1 gesetzt, wodurch ein einzelnes Axes-Objekt erzeugt wird. subplots() gibt eine Figure und entweder ein Axes-Objekt oder ein Array davon zurück, abhängig vom Layout.

12345
import matplotlib.pyplot as plt fig, axs = plt.subplots(2, 2) plt.show()
copy

Ein 2-zu-2-Subplot-Raster wurde erstellt.

Note
Hinweis

Da es mehrere Subplots gibt, gibt subplots ein Array von Axes-Objekten zurück, das üblicherweise in einer Variablen namens axs gespeichert wird (Singular ax steht für ein einzelnes Diagramm).

In diesem Fall ist axs ein zweidimensionales Array, daher werden sowohl ein Zeilen- als auch ein Spaltenindex benötigt, um auf ein bestimmtes Subplot zuzugreifen.

1234567891011121314
import matplotlib.pyplot as plt import numpy as np data_linear = np.arange(1, 11) data_squared = data_linear**2 fig, axs = plt.subplots(2, 2) axs[0, 0].plot(data_linear) axs[0, 1].plot(data_squared) axs[1, 0].scatter(data_linear, data_linear) axs[1, 1].scatter(data_linear, data_squared) plt.show()
copy

Die erste Zeile enthält zwei Liniendiagramme; die zweite Zeile enthält zwei Streudiagramme. Jedes Diagramm muss mit der Methode des entsprechenden Axes-Objekts gezeichnet werden, nicht mit plt.plot() oder plt.scatter().

Umwandlung in ein 1D-Array

Das 2D-Axes-Array kann mit .ravel() abgeflacht werden, um das Indexieren zu vereinfachen:

123456789
fig, axs = plt.subplots(2, 2) axs = axs.ravel() axs[0].plot(data_linear) axs[1].plot(data_squared) axs[2].scatter(data_linear, data_linear) axs[3].scatter(data_linear, data_squared) plt.show()
copy

Mit einem 2x2-Array wandelt axs.ravel() dieses in ein 1D-Array mit vier Elementen um.

Achsen teilen

Die Funktion subplots() verfügt außerdem über die Parameter sharex und sharey. Diese steuern, ob die x- oder y-Achsen zwischen den Teilplots geteilt werden. Beide sind standardmäßig auf False gesetzt.

123456789
fig, axs = plt.subplots(2, 2, sharex=True) axs = axs.ravel() axs[0].plot(data_linear) axs[1].plot(data_squared) axs[2].scatter(data_linear, data_linear) axs[3].scatter(data_linear, data_squared) plt.show()
copy

sharex=True sorgt dafür, dass die x-Achse in allen Teilplots gemeinsam genutzt wird. Alternativ können Sie auch 'row' oder 'col' angeben, um die Achsen nur innerhalb von Zeilen oder Spalten zu teilen.

Note
Mehr erfahren

Wie üblich können Sie weitere Informationen in der subplots() Dokumentation nachlesen, falls Sie dies wünschen.

Aufgabe

Swipe to start coding

  1. Die korrekte Funktion zur Erstellung eines Subplot-Rasters verwenden.
  2. Das Raster soll 3 Zeilen und 1 Spalte haben (die ersten beiden Parameter angeben).
  3. Das rechteste Schlüsselwortargument angeben, sodass die x-Achse für alle Subplots gemeinsam genutzt wird.
  4. Das Ergebnis der Funktion zur Erstellung der Subplots in den Variablen fig und axs speichern (von links nach rechts).
  5. Das erste Liniendiagramm für data_linear in der ersten Zeile (Zeile 0) des Subplot-Rasters platzieren.
  6. Das zweite Liniendiagramm für data_squared in der zweiten Zeile (Zeile 1) des Subplot-Rasters platzieren.
  7. Das dritte Liniendiagramm für data_exp in der dritten Zeile (Zeile 2) des Subplot-Rasters platzieren.

Lösung

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 6
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

close

bookUnterdiagramme

Swipe um das Menü anzuzeigen

Die Funktion subplots() aus pyplot wird verwendet, um mehrere Plots in einer einzigen Abbildung zu erstellen. Sie haben sie bereits beim Erstellen einer Zeichenfläche gesehen; nun betrachten wir sie genauer.

Zeilen und Spalten

Die wichtigsten Argumente sind nrows und ncolumns, die das Raster der Unterdiagramme definieren. Standardmäßig sind beide auf 1 gesetzt, wodurch ein einzelnes Axes-Objekt erzeugt wird. subplots() gibt eine Figure und entweder ein Axes-Objekt oder ein Array davon zurück, abhängig vom Layout.

12345
import matplotlib.pyplot as plt fig, axs = plt.subplots(2, 2) plt.show()
copy

Ein 2-zu-2-Subplot-Raster wurde erstellt.

Note
Hinweis

Da es mehrere Subplots gibt, gibt subplots ein Array von Axes-Objekten zurück, das üblicherweise in einer Variablen namens axs gespeichert wird (Singular ax steht für ein einzelnes Diagramm).

In diesem Fall ist axs ein zweidimensionales Array, daher werden sowohl ein Zeilen- als auch ein Spaltenindex benötigt, um auf ein bestimmtes Subplot zuzugreifen.

1234567891011121314
import matplotlib.pyplot as plt import numpy as np data_linear = np.arange(1, 11) data_squared = data_linear**2 fig, axs = plt.subplots(2, 2) axs[0, 0].plot(data_linear) axs[0, 1].plot(data_squared) axs[1, 0].scatter(data_linear, data_linear) axs[1, 1].scatter(data_linear, data_squared) plt.show()
copy

Die erste Zeile enthält zwei Liniendiagramme; die zweite Zeile enthält zwei Streudiagramme. Jedes Diagramm muss mit der Methode des entsprechenden Axes-Objekts gezeichnet werden, nicht mit plt.plot() oder plt.scatter().

Umwandlung in ein 1D-Array

Das 2D-Axes-Array kann mit .ravel() abgeflacht werden, um das Indexieren zu vereinfachen:

123456789
fig, axs = plt.subplots(2, 2) axs = axs.ravel() axs[0].plot(data_linear) axs[1].plot(data_squared) axs[2].scatter(data_linear, data_linear) axs[3].scatter(data_linear, data_squared) plt.show()
copy

Mit einem 2x2-Array wandelt axs.ravel() dieses in ein 1D-Array mit vier Elementen um.

Achsen teilen

Die Funktion subplots() verfügt außerdem über die Parameter sharex und sharey. Diese steuern, ob die x- oder y-Achsen zwischen den Teilplots geteilt werden. Beide sind standardmäßig auf False gesetzt.

123456789
fig, axs = plt.subplots(2, 2, sharex=True) axs = axs.ravel() axs[0].plot(data_linear) axs[1].plot(data_squared) axs[2].scatter(data_linear, data_linear) axs[3].scatter(data_linear, data_squared) plt.show()
copy

sharex=True sorgt dafür, dass die x-Achse in allen Teilplots gemeinsam genutzt wird. Alternativ können Sie auch 'row' oder 'col' angeben, um die Achsen nur innerhalb von Zeilen oder Spalten zu teilen.

Note
Mehr erfahren

Wie üblich können Sie weitere Informationen in der subplots() Dokumentation nachlesen, falls Sie dies wünschen.

Aufgabe

Swipe to start coding

  1. Die korrekte Funktion zur Erstellung eines Subplot-Rasters verwenden.
  2. Das Raster soll 3 Zeilen und 1 Spalte haben (die ersten beiden Parameter angeben).
  3. Das rechteste Schlüsselwortargument angeben, sodass die x-Achse für alle Subplots gemeinsam genutzt wird.
  4. Das Ergebnis der Funktion zur Erstellung der Subplots in den Variablen fig und axs speichern (von links nach rechts).
  5. Das erste Liniendiagramm für data_linear in der ersten Zeile (Zeile 0) des Subplot-Rasters platzieren.
  6. Das zweite Liniendiagramm für data_squared in der zweiten Zeile (Zeile 1) des Subplot-Rasters platzieren.
  7. Das dritte Liniendiagramm für data_exp in der dritten Zeile (Zeile 2) des Subplot-Rasters platzieren.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 6
single

single

some-alt