Unterdiagramme
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.
12345import matplotlib.pyplot as plt fig, axs = plt.subplots(2, 2) plt.show()
Ein 2-zu-2-Subplot-Raster wurde erstellt.
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.
1234567891011121314import 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()
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:
123456789fig, 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()
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.
123456789fig, 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()
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.
Wie üblich können Sie weitere Informationen in der
subplots() Dokumentation nachlesen, falls Sie dies wünschen.
Swipe to start coding
- Die korrekte Funktion zur Erstellung eines Subplot-Rasters verwenden.
- Das Raster soll 3 Zeilen und 1 Spalte haben (die ersten beiden Parameter angeben).
- Das rechteste Schlüsselwortargument angeben, sodass die x-Achse für alle Subplots gemeinsam genutzt wird.
- Das Ergebnis der Funktion zur Erstellung der Subplots in den Variablen
figundaxsspeichern (von links nach rechts). - Das erste Liniendiagramm für
data_linearin der ersten Zeile (Zeile0) des Subplot-Rasters platzieren. - Das zweite Liniendiagramm für
data_squaredin der zweiten Zeile (Zeile1) des Subplot-Rasters platzieren. - Das dritte Liniendiagramm für
data_expin der dritten Zeile (Zeile2) des Subplot-Rasters platzieren.
Lösung
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Can you explain more about how to access individual subplots in the 2D array?
What happens if I create a grid with more rows or columns?
How do I customize the appearance of each subplot?
Großartig!
Completion Rate verbessert auf 3.85
Unterdiagramme
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.
12345import matplotlib.pyplot as plt fig, axs = plt.subplots(2, 2) plt.show()
Ein 2-zu-2-Subplot-Raster wurde erstellt.
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.
1234567891011121314import 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()
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:
123456789fig, 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()
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.
123456789fig, 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()
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.
Wie üblich können Sie weitere Informationen in der
subplots() Dokumentation nachlesen, falls Sie dies wünschen.
Swipe to start coding
- Die korrekte Funktion zur Erstellung eines Subplot-Rasters verwenden.
- Das Raster soll 3 Zeilen und 1 Spalte haben (die ersten beiden Parameter angeben).
- Das rechteste Schlüsselwortargument angeben, sodass die x-Achse für alle Subplots gemeinsam genutzt wird.
- Das Ergebnis der Funktion zur Erstellung der Subplots in den Variablen
figundaxsspeichern (von links nach rechts). - Das erste Liniendiagramm für
data_linearin der ersten Zeile (Zeile0) des Subplot-Rasters platzieren. - Das zweite Liniendiagramm für
data_squaredin der zweiten Zeile (Zeile1) des Subplot-Rasters platzieren. - Das dritte Liniendiagramm für
data_expin der dritten Zeile (Zeile2) des Subplot-Rasters platzieren.
Lösung
Danke für Ihr Feedback!
single