mpl_gui.FigureRegistry.subplots#
- FigureRegistry.subplots(ncols=1, *, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw)#
Erstellt eine Figure und eine Menge von Subplots.
Dieser Utility-Wrapper macht es bequem, gängige Layouts von Subplots, einschließlich des umgebenden Figure-Objekts, in einem einzigen Aufruf zu erstellen.
- Parameter:
- nrows, ncolsint, Standard: 1
Anzahl der Zeilen/Spalten des Subplot-Gitters.
- sharex, shareybool oder {‘none’, ‘all’, ‘row’, ‘col’}, Standard: False
Steuert das Teilen von Eigenschaften zwischen X- (sharex) oder Y- (sharey) Achsen.
True oder ‘all’: x- oder y-Achse wird gemeinsam von allen Unterdiagrammen genutzt.
False oder ‘none’: Jede x- oder y-Achse jedes Unterdiagramms ist unabhängig.
‘row’: Jede Zeile von Unterdiagrammen teilt sich eine x- oder y-Achse.
‘col’: Jede Spalte von Unterdiagrammen teilt sich eine x- oder y-Achse.
Wenn Unterdiagramme eine gemeinsame x-Achse entlang einer Spalte haben, werden nur die x-Achsenbeschriftungen des untersten Unterdiagramms erstellt. Ähnlich, wenn Unterdiagramme eine gemeinsame y-Achse entlang einer Zeile haben, werden nur die y-Achsenbeschriftungen des ersten Unterdiagramms in der Spalte erstellt. Um später die Beschriftungen anderer Unterdiagramme einzuschalten, verwenden Sie
tick_params.Wenn Unterdiagramme eine gemeinsame Achse mit Einheiten haben, aktualisiert der Aufruf von
set_unitsjede Achse mit den neuen Einheiten.- squeezebool, Standard: True
Wenn True, werden zusätzliche Dimensionen aus dem zurückgegebenen Array von
Axesentfernt.Wenn nur ein Subplot erstellt wird (nrows=ncols=1), wird das resultierende einzelne Axes-Objekt als Skalar zurückgegeben.
Für Nx1- oder 1xM-Subplots ist das zurückgegebene Objekt ein 1D-NumPy-Objekt-Array von Axes-Objekten.
Für NxM-Subplots mit N>1 und M>1 wird ein 2D-Array zurückgegeben.
Wenn False, wird überhaupt kein Quetschen durchgeführt: Das zurückgegebene Axes-Objekt ist immer ein 2D-Array, das Axes-Instanzen enthält, auch wenn es sich um ein 1x1-Array handelt.
- subplot_kwdict, optional
Dict mit Schlüsselwörtern, die an den
add_subplot-Aufruf übergeben werden, der zur Erstellung jedes Unterdiagramms verwendet wird.- gridspec_kwdict, optional
Dict mit Schlüsselwörtern, die an den
GridSpec-Konstruktor übergeben werden, der zur Erstellung des Rasters verwendet wird, auf dem die Unterdiagramme platziert werden.- **fig_kw
Alle zusätzlichen Schlüsselwortargumente werden an den
figure-Aufruf übergeben.
- Gibt zurück:
- fig
Figure - ax
Axesoder Array von Axes ax kann entweder ein einzelnes
Axes-Objekt oder ein Array von Axes-Objekten sein, wenn mehr als ein Unterdiagramm erstellt wurde. Die Dimensionen des resultierenden Arrays können mit dem Schlüsselwort `squeeze` gesteuert werden, siehe oben.Typische Idiome für die Handhabung des Rückgabewerts sind
# using the variable ax for single a Axes fig, ax = plt.subplots() # using the variable axs for multiple Axes fig, axs = plt.subplots(2, 2) # using tuple unpacking for multiple Axes fig, (ax1, ax2) = plt.subplots(1, 2) fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2)
Die Namen
axund das Pluralwortaxswerdenaxesvorgezogen, da bei letzterem nicht klar ist, ob es sich um eine einzelneAxes-Instanz oder eine Sammlung davon handelt.
- fig
Beispiele
# First create some toy data: x = np.linspace(0, 2*np.pi, 400) y = np.sin(x**2) # Create just a figure and only one subplot fig, ax = plt.subplots() ax.plot(x, y) ax.set_title('Simple plot') # Create two subplots and unpack the output array immediately f, (ax1, ax2) = plt.subplots(1, 2, sharey=True) ax1.plot(x, y) ax1.set_title('Sharing Y axis') ax2.scatter(x, y) # Create four polar axes and access them through the returned array fig, axs = plt.subplots(2, 2, subplot_kw=dict(projection="polar")) axs[0, 0].plot(x, y) axs[1, 1].scatter(x, y) # Share a X axis with each column of subplots plt.subplots(2, 2, sharex='col') # Share a Y axis with each row of subplots plt.subplots(2, 2, sharey='row') # Share both X and Y axes with all subplots plt.subplots(2, 2, sharex='all', sharey='all') # Note that this is the same as plt.subplots(2, 2, sharex=True, sharey=True) # Create figure number 10 with a single subplot # and clears it if it already exists. fig, ax = plt.subplots(num=10, clear=True)