Matplotlib.pyplot.subplots() w Pythonie
Matplotlib jest biblioteką w języku Python i stanowi numeryczno-matematyczne rozszerzenie języka NumPy biblioteka. Pyplot to oparty na stanach interfejs do modułu Matplotlib, który zapewnia interfejs podobny do MATLAB-a. subplots()> Funkcja w Pythonie upraszcza tworzenie wielu wątków pobocznych Matplotlib w ramach jednej figury, umożliwiając zorganizowaną i jednoczesną wizualizację różnych zbiorów danych lub wykresów.
Przykład:
Oto przykład prostego Pyton kod do wykreślenia wykresu za pomocą Biblioteka Matplotlib .
Python3
# sample code> import> matplotlib.pyplot as plt> > plt.plot([> 1> ,> 2> ,> 3> ,> 4> ], [> 16> ,> 4> ,> 1> ,> 8> ])> plt.show()> |
Wyjście:
Wykres za pomocą Pythona Matplotlib
Matplotlib subplots() Składnia
The funkcja subplots(). w Moduł Pyplot biblioteki Matplotlib służy do tworzenia figury i zestawu wątków pobocznych.
Składnia: matplotlib.pyplot.subplots(nrows=1, ncols=1, sharex=False, sharey=False,sque=True, subplot_kw=None, gridspec_kw=Brak, **fig_kw)
Parametry: Ta metoda akceptuje następujące parametry opisane poniżej:
- nows, ncols: Te parametry to liczba wierszy/kolumn siatki wykresu cząstkowego.
- sharex, sharey: Te parametry kontrolują współdzielenie właściwości pomiędzy osiami x (sharex) lub y (sharey).
- ściskać : Ten parametr jest parametrem opcjonalnym i zawiera wartość logiczną, której domyślną wartością jest True.
- na jednego: Ten parametr jest słowem kluczowym pyplot.figure, które ustawia numer figury lub etykietę.
- wątek_podrzędny: Ten parametr to dykta ze słowami kluczowymi przekazywanymi do wywołania add_subplot używanego do tworzenia każdego wątku pobocznego.
- specyfikacja sieci_kw: Ten parametr to dykta zawierająca słowa kluczowe przekazywane do konstruktora GridSpec używanego do tworzenia siatki, na której umieszczane są wątki cząstkowe.
Zwroty: Ta metoda zwraca następujące wartości.
- Figa : Ta metoda zwraca układ figur.
- topór: Ta metoda zwraca obiekt axes.Axes lub tablicę obiektów Axes.
Przykład Matplotlib w Pythonie
W tym przykładzie utworzymy prosty wykres za pomocą funkcji subplots() w 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()> |
Wyjście:
Przykład funkcji matplotlib.pyplot.subplots().
Wyświetlanie wielu wykresów za pomocą subplots()
Funkcja Matplotlib subplots() pozwala na wykreślenie wielu wykresów przy użyciu tych samych danych lub osi. Dla lepszego zrozumienia zobaczmy kilka przykładów:
Układanie wątków pobocznych w jednym kierunku
W tym przykładzie narysujemy dwa wykresy mające wspólną oś Y. Parametry nrows i ncols są ustawione odpowiednio na 1 i 2, co oznacza, że wykres będzie miał 1 wiersz i 2 kolumny lub 2 wątki cząstkowe. Dostęp do tych wątków pobocznych możemy uzyskać za pomocą indeksów [0] i [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()> |
Wyjście:
Układanie wątków pobocznych w jednym kierunku
Układanie wątków pobocznych w dwóch kierunkach
Ten przykład jest podobny do poprzedniego. Jedyna różnica polega na tym, że podaliśmy wartości nrows i ncols na 2. Oznacza to, że wykres jest podzielony na 2 wiersze i 2 kolumny, co daje nam w sumie 4 wątki matplotlib. Dostęp do tych wykresów możemy uzyskać za pomocą indeksu.
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()> |
Wyjście:
Układanie wątków pobocznych w dwóch kierunkach
Dzielenie się osią
W tym przykładzie narysujemy wykresy mające tę samą oś. Stworzymy wykresy, które będą miały wspólną oś Y i etykietę, ale będą miały własną oś X i etykietę. Można to zrobić, przekazując wartość do parametru „num” funkcji subplot(). Parametr „sharex” jest ustawiony na True, co oznacza, że utworzone wykresy będą miały wspólną oś 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()> |
Wyjście:
Wykresy cząstkowe ze wspólną osią
Oś polarna
W tym przykładzie wykreślimy wykresy przy użyciu współrzędnych biegunowych. Parametr subplot_kw funkcji subplot() otrzymuje wartość słownikową projekcji ustawioną na „polar”, która nakazuje funkcji subplot() utworzenie wykresu biegunowego.
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()> |
Wyjście:
Przykład funkcji matplotlib.pyplot.subplots().