Matplotlib.pyplot.subplots() v Pythonu

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:

Jednoduchý graf pomocí Pythonu matplotlib

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().

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ů 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

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

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().

příklad funkce matplotlib.pyplot.subplots().