Matplotlib.pyplot.subplots() in Python
Matplotlib is een bibliotheek in Python en het is een numeriek-wiskundige uitbreiding voor de NumPy bibliotheek. Pyplot is een op status gebaseerde interface voor een Matplotlib-module die een MATLAB-achtige interface biedt. subplots()> functie in Python vereenvoudigt het maken van meerdere Matplotlib-subplots binnen één figuur, waardoor een georganiseerde en gelijktijdige visualisatie van verschillende datasets of plots mogelijk is.
Voorbeeld:
Hier is een voorbeeld van een simpele Python code om een grafiek te plotten met behulp van de Matplotlib-bibliotheek .
Python3
# sample code> import> matplotlib.pyplot as plt> > plt.plot([> 1> ,> 2> ,> 3> ,> 4> ], [> 16> ,> 4> ,> 1> ,> 8> ])> plt.show()> |
Uitgang:
Plotten met Python matplotlib
Matplotlib-subplots() Syntaxis
De subplots() functie in de Pyplot-module van de Matplotlib-bibliotheek wordt gebruikt om een figuur en een reeks subplots te maken.
Syntaxis: matplotlib.pyplot.subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=Geen, gridspec_kw=Geen, **fig_kw)
Parameters: Deze methode accepteert de volgende parameters die hieronder worden beschreven:
- nrows, ncols: Deze parameters zijn het aantal rijen/kolommen van het subplotraster.
- Sharex, Sharey: Deze parameter bepaalt het delen van eigenschappen tussen x (sharex) of y (sharey) assen.
- knijpen : Deze parameter is een optionele parameter en bevat een Booleaanse waarde met de standaardwaarde True.
- op een: Deze parameter is het sleutelwoord pyplot.figure dat het figuurnummer of label instelt.
- subplot_kwd: Deze parameter is het dictaat met sleutelwoorden die worden doorgegeven aan de add_subplot-aanroep die wordt gebruikt om elk subplot te maken.
- gridspec_kw: Deze parameter is het dictaat met sleutelwoorden die worden doorgegeven aan de GridSpec-constructor die wordt gebruikt om het raster te maken waarop de subplots worden geplaatst.
Geeft terug: Deze methode retourneert de volgende waarden.
- vijg: Deze methode retourneert de figuurindeling.
- bijl: Deze methode retourneert het object assen.Axes of een reeks Axes-objecten.
Python-subplots Matplotlib-voorbeeld
In dit voorbeeld maken we een eenvoudige plot met behulp van de functie subplots() in matplotlib.pyplot.
Python3
# Implementation of matplotlib function> import> numpy as np> import> matplotlib.pyplot as plt> # First create some toy data:> x> => np.linspace(> 0> ,> 2> *> np.pi,> 400> )> y> => np.sin(x> *> *> 2> )> fig, ax> => plt.subplots()> ax.plot(x, y)> ax.set_title(> 'Simple plot'> )> fig.suptitle(> 'matplotlib.pyplot.subplots() Example'> )> plt.show()> |
Uitgang:
voorbeeld van de functie matplotlib.pyplot.subplots().
Meerdere plots weergeven met behulp van subplots()
Met de functie Matplotlib subplots() kunnen we meerdere plots plotten met dezelfde gegevens of de as. Laten we een paar voorbeelden bekijken voor een beter begrip:
Subplots in één richting stapelen
In dit voorbeeld plotten we twee plots die de y-as delen. De parameters nrows en ncols zijn respectievelijk ingesteld op 1 en 2, wat betekent dat de plot 1 rij en 2 kolommen of 2 subplots zal hebben. We hebben toegang tot deze subplots met behulp van de index [0] en [1].
Python3
# Implementation of matplotlib function> import> numpy as np> import> matplotlib.pyplot as plt> # First create some toy data:> x> => np.linspace(> 0> ,> 2> *> np.pi,> 400> )> y1> => np.sin(x)> y2> => np.sin(x> *> *> 2> )> # create 2 subplots> fig, ax> => plt.subplots(nrows> => 1> , ncols> => 2> )> ax[> 0> ].plot(x, y1)> ax[> 1> ].plot(x, y2)> # plot 2 subplots> ax[> 0> ].set_title(> 'Simple plot with sin(x)'> )> ax[> 1> ].set_title(> 'Simple plot with sin(x**2)'> )> fig.suptitle(> 'Stacked subplots in one direction'> )> plt.show()> |
Uitgang:
Subplots in één richting stapelen
Subplots in twee richtingen stapelen
Dit voorbeeld is vergelijkbaar met het vorige. Het enige verschil is dat we de waarden van nrows en ncols op 2 hebben gezet. Dit betekent dat de plot is verdeeld in 2 rijen en 2 kolommen, wat ons een totaal van 4 subplots matplotlib geeft. We hebben toegang tot deze plots met behulp van de index.
Python3
# Implementation of matplotlib function> import> numpy as np> import> matplotlib.pyplot as plt> # First create some toy data:> x> => np.linspace(> 0> ,> 2> *> np.pi,> 400> )> y1> => np.sin(x)> y2> => np.sin(x> *> *> 2> )> y3> => y1> *> *> 2> y4> => y2> *> *> 2> fig, ax> => plt.subplots(nrows> => 2> , ncols> => 2> )> ax[> 0> ,> 0> ].plot(x, y1, c> => 'red'> )> ax[> 0> ,> 1> ].plot(x, y2, c> => 'red'> )> ax[> 1> ,> 0> ].plot(x, y3, c> => 'blue'> )> ax[> 1> ,> 1> ].plot(x, y3, c> => 'blue'> )> ax[> 0> ,> 0> ].set_title(> 'Simple plot with sin(x)'> )> ax[> 0> ,> 1> ].set_title(> 'Simple plot with sin(x**2)'> )> ax[> 1> ,> 0> ].set_title(> 'Simple plot with sin(x)**2'> )> ax[> 1> ,> 1> ].set_title(> 'Simple plot with sin(x**2)**2'> )> fig.suptitle(> 'Stacked subplots in two direction'> )> plt.show()> |
Uitgang:
Subplots in twee richtingen stapelen
As delen
In dit voorbeeld zullen we de grafieken plotten die dezelfde as delen. We gaan plots maken die de y-as en het label delen, maar die hun eigen x-as en label hebben. Dit kan gedaan worden door een waarde door te geven aan de parameter ‘num’ van de functie subplot(). De parameter ‘sharex’ is ingesteld op True, wat betekent dat de gemaakte plots de X-as onder elkaar zullen delen.
Python3
# Implementation of matplotlib function> import> numpy as np> import> matplotlib.pyplot as plt> # First create some toy data:> x> => np.linspace(> 0> ,> 2> *> np.pi,> 400> )> y1> => np.sin(x)> y2> => np.sin(x> *> *> 2> )> fig, (ax1, ax2)> => plt.subplots(> 2> , sharex> => True> )> ax1.plot(x, y1, c> => 'red'> )> ax2.plot(x, y2, c> => 'red'> )> ax1.set_ylabel(> 'Simple plot with sin(x)'> )> ax2.set_ylabel(> 'Simple plot with sin(x**2)'> )> fig.suptitle(> 'Subplots with shared axis'> )> plt.show()> |
Uitgang:
Subplots met gedeelde as
Polaire as
In dit voorbeeld tekenen we de grafieken met behulp van de poolcoördinaten. De parameter subplot_kw van de functie subplot() krijgt een woordenboekwaarde van projectie ingesteld op ‘polar’, die de functie subplot() vertelt een polaire grafiek te maken.
Python3
# Implementation of matplotlib function> import> numpy as np> import> matplotlib.pyplot as plt> # First create some toy data:> x> => np.linspace(> 0> ,> 1.5> *> np.pi,> 100> )> y> => np.sin(x> *> *> 2> )> +> np.cos(x> *> *> 2> )> fig, axs> => plt.subplots(nrows> => 2> , ncols> => 2> ,> > subplot_kw> => dict> (polar> => True> ))> axs[> 0> ,> 0> ].plot(x, y)> axs[> 1> ,> 1> ].scatter(x, y)> fig.suptitle(> 'matplotlib.pyplot.subplots() Example'> )> plt.show()> |
Uitgang:
voorbeeld van de functie matplotlib.pyplot.subplots().