Matplotlib.pyplot.subplots() у Python
Matplotlib це бібліотека на Python і є числово-математичним розширенням для NumPy бібліотека. Pyplot це інтерфейс на основі стану до модуля Matplotlib, який забезпечує схожий на MATLAB інтерфейс. subplots()> Функція в Python спрощує створення кількох підсхем Matplotlib в межах однієї фігури, дозволяючи організовано й одночасно візуалізувати різні набори даних або графіки.
приклад:
Ось приклад простий Python код для побудови графіка за допомогою Бібліотека Matplotlib .
Python3
# sample code> import> matplotlib.pyplot as plt> > plt.plot([> 1> ,> 2> ,> 3> ,> 4> ], [> 16> ,> 4> ,> 1> ,> 8> ])> plt.show()> |
Вихід:
Побудуйте графік за допомогою Python matplotlib
Синтаксис Matplotlib subplots().
The функція subplots(). в Модуль Pyplot бібліотеки Matplotlib використовується для створення фігури та набору підсхем.
Синтаксис: matplotlib.pyplot.subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=Немає, gridspec_kw=Немає, **fig_kw)
Параметри: Цей метод приймає такі параметри, описані нижче:
- nrows, ncols : Цей параметр є кількістю рядків/стовпців сітки підсхеми.
- шарекс, шарі : Цей параметр керує спільним використанням властивостей між осями x (sharex) або y (sharey).
- стиснути : Цей параметр є необов’язковим і містить логічне значення зі значенням за замовчуванням True.
- на одному: Цей параметр є ключовим словом pyplot.figure, яке встановлює номер або мітку малюнка.
- subplot_kwd: Цей параметр є dict із ключовими словами, переданими до виклику add_subplot, який використовується для створення кожної підсхеми.
- gridspec_kw: Цей параметр є dict із ключовими словами, переданими конструктору GridSpec, який використовується для створення сітки, на якій розміщено підсхеми.
Повернення: Цей метод повертає такі значення.
- рис : Цей метод повертає макет фігури.
- сокира: Цей метод повертає об’єкт axes.Axes або масив об’єктів Axes.
Приклад Python Subplots Matplotlib
У цьому прикладі ми створимо простий графік за допомогою функції subplots() у 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()> |
Вихід:
приклад функції matplotlib.pyplot.subplots().
Відображення кількох графіків за допомогою subplots()
Функція Matplotlib subplots() дозволяє побудувати кілька графіків, використовуючи однакові дані або вісь. Для кращого розуміння розглянемо кілька прикладів:
Укладання підсхем в одному напрямку
У цьому прикладі ми побудуємо два графіки, які мають спільну вісь y. Для параметрів nrows і ncols встановлено значення 1 і 2 відповідно, що означає, що графік матиме 1 рядок і 2 стовпці або 2 підділянки. Ми можемо отримати доступ до цих підсхем за допомогою індексів [0] і [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()> |
Вихід:
Укладання підділянок в одному напрямку
Укладання підсхем у двох напрямках
Цей приклад схожий на попередній. Єдина відмінність полягає в тому, що ми надали значення nrows і ncols до 2. Це означає, що діаграма поділена на 2 рядки та 2 стовпці, що дає нам загалом 4 підділянки matplotlib. Ми можемо отримати доступ до цих сюжетів за допомогою покажчика.
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()> |
Вихід:
Укладання подделок в двох напрямках
Вісь спільного використання
У цьому прикладі ми побудуємо графіки, які мають спільну вісь. Ми створимо графіки, які матимуть спільну вісь ординат і мітку, але матимуть власну вісь х і мітку. Це можна зробити, передавши значення параметру «num» функції subplot(). Параметр «sharex» має значення True, що означає, що створені графіки матимуть спільну вісь 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()> |
Вихід:
Підділянки зі спільною віссю
Полярна вісь
У цьому прикладі ми побудуємо графіки за полярними координатами. Параметру subplot_kw функції subplot() надається словникове значення проекції, встановлене як «полярне», яке повідомляє функції subplot() створити полярний графік.
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()> |
Вихід:
приклад функції matplotlib.pyplot.subplots().