Matplotlib.pyplot.subplots() v Pythone
Matplotlib je knižnica v Pythone a je to numericko-matematické rozšírenie pre NumPy knižnica. Pyplot je stavové rozhranie k modulu Matplotlib, ktoré poskytuje rozhranie podobné MATLABu. subplots()> funkcia v Pythone zjednodušuje vytváranie viacerých čiastkových grafov Matplotlib v rámci jedného obrázku, čo umožňuje organizovanú a súčasnú vizualizáciu rôznych súborov údajov alebo grafov.
Príklad:
Tu je príklad jednoduchého Python kód na vykreslenie grafu pomocou Knižnica Matplotlib .
Python3
# sample code> import> matplotlib.pyplot as plt> > plt.plot([> 1> ,> 2> ,> 3> ,> 4> ], [> 16> ,> 4> ,> 1> ,> 8> ])> plt.show()> |
Výkon:
Graf pomocou Pythonu matplotlib
Matplotlib subplots() Syntax
The funkcia subplots(). v Modul Pyplot knižnice Matplotlib sa používa na vytvorenie figúry a sady podzákresov.
Syntax: matplotlib.pyplot.subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw)
Parametre: Táto metóda akceptuje nasledujúce parametre, ktoré sú popísané nižšie:
- nrows, ncols: Tieto parametre predstavujú počet riadkov/stĺpcov mriežky podkreslenia.
- sharex, sharey : Tento parameter riadi zdieľanie vlastností medzi osami x (sharex) alebo y (sharey).
- stlačiť: Tento parameter je voliteľný parameter a obsahuje boolovskú hodnotu s predvolenou hodnotou True.
- na jeden: Tento parameter je kľúčové slovo pyplot.figure, ktoré nastavuje číslo obrázka alebo označenie.
- subplot_kwd: Tento parameter je diktát s kľúčovými slovami odovzdanými do volania add_subplot, ktoré sa používa na vytvorenie každého čiastkového grafu.
- gridspec_kw: Tento parameter je diktát s kľúčovými slovami odovzdanými do konštruktora GridSpec, ktorý sa používa na vytvorenie mriežky, na ktorú sú umiestnené podplochy.
Vrátenie: Táto metóda vráti nasledujúce hodnoty.
- obr: Táto metóda vráti rozloženie obrázku.
- sekera: Táto metóda vráti objekt axes.Axes alebo pole objektov Axes.
Python Subplots Príklad Matplotlib
V tomto príklade vytvoríme jednoduchý graf pomocou funkcie 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ýkon:
príklad funkcie matplotlib.pyplot.subplots().
Zobrazenie viacerých grafov pomocou subplots()
Funkcia Matplotlib subplots() nám umožňuje vykresliť viacero grafov pomocou rovnakých údajov alebo osi. Pozrime sa na niekoľko príkladov pre lepšie pochopenie:
Stohovanie podzápletiek v jednom smere
V tomto príklade vykreslíme dva grafy, ktoré zdieľajú os y. Parametre nrows a ncols sú nastavené na 1 a 2, čo znamená, že graf bude mať 1 riadok a 2 stĺpce alebo 2 podplochy. K týmto podzákresom môžeme pristupovať pomocou 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ýkon:
Skladanie podzápletiek v jednom smere
Skladanie podzápletiek v dvoch smeroch
Tento príklad je podobný predchádzajúcemu. Jediný rozdiel je v tom, že sme poskytli hodnoty nrows a ncols na 2. To znamená, že graf je rozdelený na 2 riadky a 2 stĺpce, čo nám dáva celkovo 4 podploty matplotlib. K týmto grafom môžeme pristupovať pomocou 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ýkon:
Skladanie podzápletiek v dvoch smeroch
Zdieľaná os
V tomto príklade vykreslíme grafy, ktoré zdieľajú rovnakú os. Vytvoríme grafy, ktoré budú zdieľať os y a štítok, ale budú mať vlastnú os x a štítok. Dá sa to dosiahnuť odovzdaním hodnoty parametru „num“ funkcie subplot(). Parameter „sharex“ je nastavený na hodnotu True, čo znamená, že vytvorené grafy budú medzi sebou zdieľať os 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ýkon:
Podplochy so zdieľanou osou
Polárna os
V tomto príklade vykreslíme grafy pomocou polárnych súradníc. Parameter subplot_kw funkcie subplot() má v slovníku hodnotu projekcie nastavenú na „polárnu“, ktorá hovorí funkcii subplot() na vytvorenie polárneho grafu.
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ýkon:
príklad funkcie matplotlib.pyplot.subplots().