Programmierer verwenden plot oft, um Punkte in Diagrammen zu zeichnen. Die Funktion plot () erzeugt standardmäßig eine Linie, die an einem Punkt beginnt und an einem anderen Punkt endet. Diese Funktion berücksichtigt Parameter, um die Punkte des Diagramms zu bestimmen. Die X-Achse enthält die Punkte für Parameter 1, während die Y-Achse die Punkte für Parameter 2 enthält.
Sie können in Matplotlib auf 2 Arten mehr als ein Diagramm in einem Plot zeichnen. Mit der Funktion subplot () können Sie einen Graphen erstellen, während Sie den zweiten Graphen durch Überlagerung mit dem ersten erstellen können, was bedeutet, dass jeder Graph in einem Plot vorhanden ist. Lesen Sie weiter, um zu erfahren, wie Sie mehrere Plots in Matplotlib erstellen können.
Verwendung der Funktion Subplot () zur Erstellung mehrerer Plots
Die Funktion Subplot () ist im Wesentlichen eine Wrapper-Funktion, die dem Programmierer dabei hilft, mehrere Graphen in einem Fixture darzustellen. Was diese Funktion so praktisch macht, ist die Tatsache, dass sie nur einmal aufgerufen werden muss.
Syntax
matplotlib.pyplot.subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw)
Parameter
nrows, ncols
Mit ihrer Hilfe kann man die genaue Anzahl der Spalten bzw. Zeilen bestimmen. Es ist zu beachten, dass die Verwendung dieser Parameter völlig optional ist. Der Standardwert für diese Parameter ist 1.
sharex, sharey
sharex und sharey sind entscheidend für die Bestimmung der gemeinsamen Eigenschaften der y- und a-Achse. Ihre möglichen Werte können none, col, row sein. Andernfalls gibt es immer den Standardwert False.
squeeze
Im Gegensatz zu den anderen Werten handelt es sich hier im Wesentlichen um einen booleschen Wert, der den Programmierer fragt, ob er die zusätzliche Dimension im Array eliminieren soll. Der Standardwert von Squeeze ist False.
subplot_kw
Mit Hilfe dieses Parameters können Programmierer Schlüsselwörter in jeden Subplot einfügen. Der Standardwert für diesen Parameter ist None.
gridspec_kw
Mit Hilfe dieses Parameters können Sie jedem Teilplan ein Raster hinzufügen. Auch hier ist der Standardwert dieses Parameters None.
fig_kw
Mit dem Parameter fig_kw können Programmierer zusätzliche Schlüsselwortargumente in den Funktionsaufruf einfügen. Der Standardwert für diesen Parameter ist ebenfalls None.
Matplotlib hat eine Funktion, die viele Ähnlichkeiten mit subplot hat. Diese Funktion wird als subplot2grid() bezeichnet. Im Kern sind diese Funktion und subplot fast identisch, aber subplot2grid() bietet mehr Flexibilität, wenn es darum geht, Plot-Objekte entsprechend den Bedürfnissen des Programmierers zu organisieren.
So wird diese Funktion geschrieben:
Syntax
matplotlib.pyplot.subplot2grid(shape, loc, rowspan=1, colspan=1, fig=None, **kwargs)
Parameter
form
Der Parameter shape ist im Wesentlichen eine Sequenz, die 2 ganzzahlige Werte enthält, die uns helfen, die Form des Gitters zu bestimmen. Dies ist der Ort, an dem die Achsen platziert werden müssen. Der erste Eintrag wird für die Zeile verwendet, während der zweite für die Spalte steht.
Ioc
Ähnlich wie der shape-Parameter hat auch Ioc eine Folge von 2 Integer-Werten. In dieser Sequenz ist der erste Eintrag für die Zeile und der zweite für die Spalte zur Platzierung der Achse im Raster.
rowspan
Der Parameter rowspan verwendet den Integer-Wert zusammen mit der Zahl, die die Anzahl der Zeilen angibt, die die Achse benötigt, um nach rechts zu wachsen oder sich zu erstrecken.
colspan
Im Gegensatz zum Parameter rowspan wird bei colspan ein ganzzahliger Wert zusammen mit der Zahl verwendet, die die Gesamtzahl der Spalten angibt, die die Achse benötigt, um sich nach unten zu verlängern.
fig
Der Parameter fig ist völlig optional und verwendet Figure für die Platzierung der Achse. Es ist auch zu beachten, dass fig standardmäßig die aktuelle Abbildung verwendet.
Kwargs
Kwargs hilft Programmierern, zusätzliche Schlüsselwortargumente an den Funktionsaufruf weiterzugeben. Der Standardwert für diesen Parameter ist None.
Erstellen eines Plots innerhalb desselben Plots
Bisher haben wir die Grundlagen von Matplotlib und die Verwendung von subplot besprochen, um mehr als ein Gruph durch die subplot2grid und subplot grid Bibliothek zu erstellen. Nun wollen wir besprechen, wie man Subplots in eine und mehrere Richtungen kompiliert.
Kompilieren von Subplots in einer einzigen Richtung
Die beiden nicht obligatorischen pyplot.subplots-Argumente definieren die Anzahl der Spalten und Zeilen im Subplot-Grid. Wenn man plant, nur in eine Richtung zu stapeln, ist axs im Wesentlichen ein1D NumPy-Array, das den Bestand an Achsen enthält.
Kompilieren von Subplots in zwei Richtungen
Die zurückgegebenen Achsen, wenn zwei Richtungen gestapelt werden, sind ein 2D NumPy-Array. Wer plant, Parameter für jeden Subplot zu erstellen, sollte am besten jeden Subplot mit einem zweidimensionalen Raster durch for ax in axs.flat iterieren:
Achsen teilen
Jede Achse ist standardmäßig individuell skaliert. Daher werden die Tick-Werte der Unterdiagramme nicht richtig ausgerichtet, wenn die Bereiche nicht gleich sind. Wenn Sie sharey oder sharex auf True setzen, wird die globale gemeinsame Nutzung im gesamten Raster aktiviert, was bedeutet, dass die y-Achsen der vertikal gestapelten Unterdiagramme denselben Maßstab haben, wenn sie sharey=True verwenden.
Ein einziges Ticklabel-Set ist mehr als genug, wenn es um die gemeinsame Nutzung von Achsen in Unterplots geht. Was die inneren Achsen betrifft, so werden ihre Tick-Labels automatisch durch sharey und sharex entfernt. Es bleibt jedoch immer noch ein ungenutzter Platz zwischen den Teilbildern übrig.
Wenn Sie die Positionierung der Subplots richtig steuern wollen, verwenden Sie am besten GridSpec mit Figure.add_gridspec und anschließend die Subplot-Technik. Zum Beispiel kann man die Höhe des vertikalen Subplots minimieren, indem man add_gridspec(hspace=0).label_outer verwendet. Dies ist eine unglaublich hilfreiche Methode zum Entfernen von Häkchen und Beschriftungen aus Subplots, die nicht am Rand des Rasters liegen.
Neben True und False akzeptieren sharey und sharex nur die Werte ‘col’ und ‘row’ pro Spalte oder Zeile. Falls Sie vorhaben, eine komplexere Sharing-Struktur zu erstellen, wäre es am besten, ein Achsengitter ohne Sharing zu erstellen und dann axes.Axes.sharex oder axes.Axes.sharey zu verwenden.
Das Erstellen von mehreren Plots in Matplotlib kann schwierig sein, wenn man nicht über ausreichende Kenntnisse der Grundlagen, der richtigen Syntax und der Parameter verfügt. Die in diesem Artikel besprochenen Informationen werden Ihnen jedoch dabei helfen, in Matplotlib richtig zu plotten und sicherzustellen, dass Sie mit relativer Leichtigkeit auch mehrere Plots erstellen können.