matplotlib.pyplot.subplots#
- matplotlib.pyplot.subplots(nrows=1, ncols=1, *, sharex=False, sharey=False, squeeze=True, width_ratios=None, height_ratios=None, 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 zwischen allen Subplots geteilt.
False oder 'none': Jede Subplot-X- oder Y-Achse ist unabhängig.
'row': Jede Subplot-Zeile teilt eine X- oder Y-Achse.
'col': Jede Subplot-Spalte teilt eine X- oder Y-Achse.
Wenn Subplots eine gemeinsame X-Achse entlang einer Spalte haben, werden nur die X-Tick-Beschriftungen des untersten Subplots erstellt. Ähnlich, wenn Subplots eine gemeinsame Y-Achse entlang einer Zeile haben, werden nur die Y-Tick-Beschriftungen des ersten Spalten-Subplots erstellt. Um die Tick-Beschriftungen anderer Subplots später einzuschalten, verwenden Sie
tick_params.Wenn Subplots eine gemeinsame Achse mit Einheiten haben, wird das Aufrufen von
Axis.set_unitsjede Achse mit den neuen Einheiten aktualisieren.Beachten Sie, dass es nicht möglich ist, Achsen zu entkoppeln.
- squeezebool, Standard: True
Wenn True, werden zusätzliche Dimensionen aus dem zurückgegebenen Array von
Axesherausgequetscht.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.
- width_ratiosarray-ähnlich der Länge ncols, optional
Definiert die relativen Breiten der Spalten. Jede Spalte erhält eine relative Breite von
width_ratios[i] / sum(width_ratios). Wenn nicht angegeben, haben alle Spalten die gleiche Breite. Entsprichtgridspec_kw={'width_ratios': [...]}.- height_ratiosarray-ähnlich der Länge nrows, optional
Definiert die relativen Höhen der Zeilen. Jede Zeile erhält eine relative Höhe von
height_ratios[i] / sum(height_ratios). Wenn nicht angegeben, haben alle Zeilen die gleiche Höhe. Bequemlichkeit fürgridspec_kw={'height_ratios': [...]}.- subplot_kwdict, optional
Dict mit Schlüsselwörtern, die an den
add_subplotAufruf übergeben werden, der zur Erstellung jedes Subplots verwendet wird.- gridspec_kwdict, optional
Dict mit Schlüsselwörtern, die an den Konstruktor von
GridSpecübergeben werden, der zur Erstellung des Gitters verwendet wird, auf dem die Subplots platziert werden.- **fig_kw
Alle zusätzlichen Schlüsselwortargumente werden an den
pyplot.figureAufruf übergeben.
- Gibt zurück:
- fig
Figure - ax
Axesoder Array von Axes ax kann entweder ein einzelnes
Axes-Objekt sein, oder ein Array von Axes-Objekten, wenn mehr als ein Subplot 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 die pluralisierte Formaxswerden gegenüberaxesbevorzugt, da bei letzterem unklar 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)
Beispiele für die Verwendung von matplotlib.pyplot.subplots#
Animiertes Bild mit einer vorkompilierten Bildliste
Position und Größe einer Farbleiste mit Inset Axes steuern
Histogramm an Streudiagramm ausrichten mit locatable Axes
Eine Farbskala aus einer Liste von Farben erstellen
Möglichkeiten, den Alpha-Wert einer Farbe einzustellen
Diskrete Verteilung als horizontales Balkendiagramm
Abbildung von Markereigenschaften auf multivariate Daten
Histogramme mit Rechtecken und PolyCollections erstellen
Benutzerdefinierte Hillshading in einem 3D-Oberflächendiagramm
Linien-, Poly- und RegularPoly-Sammlung mit Autoskalierung
Mehrere Linien mit einer LineCollection darstellen
Radardiagramm (auch Spinnen- oder Sternendiagramm genannt)
Darstellung einer Konfidenzellipse eines zweidimensionalen Datensatzes
Einbeziehung von Ober- und Untergrenzen in Fehlerbalken
Erstellung von Boxen aus Fehlerbalken mit PatchCollection
Demo der verschiedenen histtype-Einstellungen der Histogrammfunktion
Die Histogrammfunktion (hist) mit mehreren Datensätzen
Ansichtsgrenzen mit Rändern und sticky_edges steuern
Figuren-Beschriftungen: suptitle, supxlabel, supylabel
Zwei Subplots mit subplots und GridSpec kombinieren
Platzierung von Datums-Ticks nach Wiederholungsregeln
Benutzerdefinierter Tick-Formatierer für Zeitreihen
SI-präfixierte Offsets und natürliche Größenordnungen
Standard-Y-Achsen-Tick-Beschriftungen rechts einstellen
Tick-Beschriftungen aus einer Werteliste einstellen
X-Achsen-Tick-Beschriftungen nach oben verschieben
Indizes aus einer Sammlung mit Polygon-Selektor auswählen