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_units jede Achse mit den neuen Einheiten.

squeezebool, Standard: True
  • Wenn True, werden zusätzliche Dimensionen aus dem zurückgegebenen Array von Axes entfernt.

    • 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:
figFigure
axAxes oder 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 ax und das Pluralwort axs werden axes vorgezogen, da bei letzterem nicht klar ist, ob es sich um eine einzelne Axes-Instanz oder eine Sammlung davon handelt.

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)