mpl_gui.subplots#

mpl_gui.subplots(nrows=1, ncols=1, *, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw)[Quelle]#

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’: Die x- oder y-Achse wird für alle Unterplots gemeinsam genutzt.

  • False oder ‘none’: Jede x- oder y-Achse eines Unterplots ist unabhängig.

  • ‘row’: Jede Zeile von Unterplots teilt sich eine x- oder y-Achse.

  • ‘col’: Jede Spalte von Unterplots teilt sich eine x- oder y-Achse.

Wenn Unterplots eine gemeinsame x-Achse entlang einer Spalte haben, werden nur die x-Achsenbeschriftungen des untersten Unterplots erstellt. Ebenso werden, wenn Unterplots eine gemeinsame y-Achse entlang einer Zeile haben, nur die y-Achsenbeschriftungen des ersten Spaltenunterplots erstellt. Um die Beschriftungen anderer Unterplots später einzuschalten, verwenden Sie tick_params.

Wenn Unterplots 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 herausgequetscht.

    • 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, mit dem jeder Unterplot erstellt wird.

gridspec_kwdict, optional

Dict mit Schlüsselwörtern, die an den GridSpec-Konstruktor übergeben werden, mit dem das Gitter erstellt wird, auf dem die Unterplots 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 Unterplot 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 pluralisierte axs werden gegenüber axes bevorzugt, da bei letzterem nicht klar ist, ob es sich auf eine einzelne Axes-Instanz oder eine Sammlung davon bezieht.

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)