Matplotlib.pyplot.subplots() v Pythonu
Matplotlib je knihovna v Pythonu a je to numericko-matematické rozšíření pro NumPy knihovna. Pyplot je stavové rozhraní k modulu Matplotlib, které poskytuje rozhraní podobné MATLABu. subplots()> Funkce v Pythonu zjednodušuje vytváření více dílčích grafů Matplotlib v rámci jednoho obrázku, což umožňuje organizovanou a současnou vizualizaci různých datových sad nebo grafů.
Příklad:
Zde je příklad jednoduchého Krajta kód pro vykreslení grafu pomocí Knihovna Matplotlib .
Python3
# sample code> import> matplotlib.pyplot as plt> > plt.plot([> 1> ,> 2> ,> 3> ,> 4> ], [> 16> ,> 4> ,> 1> ,> 8> ])> plt.show()> |
Výstup:
Vykreslujte pomocí Pythonu matplotlib
Matplotlib subplots() Syntaxe
The funkce subplots(). v Modul Pyplot knihovny Matplotlib se používá k vytvoření postavy a sady dílčích grafů.
Syntax: matplotlib.pyplot.subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw)
Parametry: Tato metoda přijímá následující parametry, které jsou popsány níže:
- nrows, ncols: Tyto parametry představují počet řádků/sloupců mřížky dílčího grafu.
- sharex, sharey: Tento parametr řídí sdílení vlastností mezi osami x (sharex) nebo y (sharey).
- zmáčknout: Tento parametr je volitelný parametr a obsahuje booleovskou hodnotu s výchozí hodnotou True.
- na jednom: Tento parametr je klíčové slovo pyplot.figure, které nastavuje číslo obrázku nebo popisek.
- subplot_kwd: Tento parametr je diktát s klíčovými slovy předávanými do volání add_subplot použitého k vytvoření každého dílčího grafu.
- gridspec_kw: Tento parametr je diktát s klíčovými slovy předávanými konstruktoru GridSpec, který se používá k vytvoření mřížky, na kterou jsou umístěny dílčí grafy.
Vrácení: Tato metoda vrátí následující hodnoty.
- obr: Tato metoda vrátí rozložení obrázku.
- sekera: Tato metoda vrací objekt axes.Axes nebo pole objektů Axes.
Python Subplots Příklad Matplotlib
V tomto příkladu vytvoříme jednoduchý graf pomocí funkce subplots() v 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()> |
Výstup:
příklad funkce matplotlib.pyplot.subplots().
Zobrazení více grafů pomocí subplots()
Funkce Matplotlib subplots() nám umožňuje vykreslit více grafů pomocí stejných dat nebo osy. Podívejme se na několik příkladů pro lepší pochopení:
Skládání dílčích zápletek v jednom směru
V tomto příkladu vykreslíme dva grafy, které sdílejí osu y. Parametry nrows a ncols jsou nastaveny na 1 a 2, což znamená, že graf bude mít 1 řádek a 2 sloupce nebo 2 dílčí grafy. K těmto dílčím grafům můžeme přistupovat pomocí indexu [0] a [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()> |
Výstup:
Skládání dílčích zákresů v jednom směru
Skládání dílčích zákresů ve dvou směrech
Tento příklad je podobný předchozímu. Jediný rozdíl je v tom, že jsme poskytli hodnoty nrows a ncols na 2. To znamená, že graf je rozdělen na 2 řádky a 2 sloupce, což nám dává celkem 4 podploty matplotlib. K těmto grafům můžeme přistupovat pomocí indexu.
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()> |
Výstup:
Skládání dílčích zákresů ve dvou směrech
Osa sdílení
V tomto příkladu vyneseme grafy, které sdílejí stejnou osu. Vytvoříme grafy, které budou sdílet osu y a štítek, ale budou mít vlastní osu x a štítek. To lze provést předáním hodnoty do parametru ‚num‘ funkce subplot(). Parametr „sharex“ je nastaven na hodnotu True, což znamená, že vytvořené grafy budou mezi sebou sdílet osu X.
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()> |
Výstup:
Podplochy se sdílenou osou
Polární osa
V tomto příkladu vykreslíme grafy pomocí polárních souřadnic. Parametr subplot_kw funkce subplot() má ve slovníku hodnotu projekce nastavenou na ‚polar‘, která říká funkci subplot() vytvořit polární graf.
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()> |
Výstup:
příklad funkce matplotlib.pyplot.subplots().