Створення Підграфіків
Функція subplots() з модуля pyplot використовується для створення кількох графіків у межах однієї фігури. Ви вже бачили її при створенні полотна; тепер розглянемо її детальніше.
Рядки та стовпці
Основними аргументами є nrows та ncolumns, які визначають сітку підграфіків. За замовчуванням обидва дорівнюють 1, що створює один об'єкт Axes.
subplots() повертає об'єкт Figure та або один об'єкт Axes, або масив таких об'єктів залежно від розмітки.
12345import matplotlib.pyplot as plt fig, axs = plt.subplots(2, 2) plt.show()
Було створено ґратку підграфіків розміром 2 на 2.
Оскільки існує кілька підграфіків, subplots повертає масив об'єктів Axes, який зазвичай зберігається у змінній з назвою axs (однина — ax для одного графіка).
У цьому випадку axs є двовимірним масивом, тому для доступу до конкретного підграфіка потрібно вказати як індекс рядка, так і індекс стовпця.
1234567891011121314import matplotlib.pyplot as plt import numpy as np data_linear = np.arange(1, 11) data_squared = data_linear**2 fig, axs = plt.subplots(2, 2) axs[0, 0].plot(data_linear) axs[0, 1].plot(data_squared) axs[1, 0].scatter(data_linear, data_linear) axs[1, 1].scatter(data_linear, data_squared) plt.show()
У першому рядку розташовано два лінійні графіки; у другому рядку — дві діаграми розсіювання.
Кожен графік необхідно створювати за допомогою методу відповідного об'єкта Axes, а не plt.plot() чи plt.scatter().
Перетворення у одномірний масив
Можна перетворити двовимірний масив Axes у одномірний за допомогою .ravel(), щоб спростити індексацію:
123456789fig, axs = plt.subplots(2, 2) axs = axs.ravel() axs[0].plot(data_linear) axs[1].plot(data_squared) axs[2].scatter(data_linear, data_linear) axs[3].scatter(data_linear, data_squared) plt.show()
За допомогою масиву 2x2 axs.ravel() перетворює його на одномірний масив із чотирьох елементів.
Спільна вісь
Функція subplots() також має параметри sharex та sharey. Вони керують тим, чи будуть осі x або y спільними для всіх підграфіків. Обидва параметри за замовчуванням встановлені у значення False.
123456789fig, axs = plt.subplots(2, 2, sharex=True) axs = axs.ravel() axs[0].plot(data_linear) axs[1].plot(data_squared) axs[2].scatter(data_linear, data_linear) axs[3].scatter(data_linear, data_squared) plt.show()
Встановлення sharex=True дозволяє спільно використовувати вісь x для всіх підграфіків.
Також можна передати значення 'row' або 'col', щоб спільно використовувати осі лише в межах рядків або стовпців.
Як завжди, не соромтеся досліджувати більше у
subplots() документації, якщо бажаєте.
Swipe to start coding
- Використати відповідну функцію для створення сітки підграфіків.
- Сітка повинна містити 3 рядки та 1 стовпець (вкажіть перші два параметри).
- Вкажіть крайній правий іменований аргумент, щоб вісь x була спільною для всіх підграфіків.
- Зберегти результат функції створення підграфіків у змінних
figтаaxs(зліва направо). - Розмістити перший лінійний графік для
data_linearу першому рядку (рядок0) сітки підграфіків. - Розмістити другий лінійний графік для
data_squaredу другому рядку (рядок1) сітки підграфіків. - Розмістити третій лінійний графік для
data_expу третьому рядку (рядок2) сітки підграфіків.
Рішення
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Чудово!
Completion показник покращився до 6.25
Створення Підграфіків
Свайпніть щоб показати меню
Функція subplots() з модуля pyplot використовується для створення кількох графіків у межах однієї фігури. Ви вже бачили її при створенні полотна; тепер розглянемо її детальніше.
Рядки та стовпці
Основними аргументами є nrows та ncolumns, які визначають сітку підграфіків. За замовчуванням обидва дорівнюють 1, що створює один об'єкт Axes.
subplots() повертає об'єкт Figure та або один об'єкт Axes, або масив таких об'єктів залежно від розмітки.
12345import matplotlib.pyplot as plt fig, axs = plt.subplots(2, 2) plt.show()
Було створено ґратку підграфіків розміром 2 на 2.
Оскільки існує кілька підграфіків, subplots повертає масив об'єктів Axes, який зазвичай зберігається у змінній з назвою axs (однина — ax для одного графіка).
У цьому випадку axs є двовимірним масивом, тому для доступу до конкретного підграфіка потрібно вказати як індекс рядка, так і індекс стовпця.
1234567891011121314import matplotlib.pyplot as plt import numpy as np data_linear = np.arange(1, 11) data_squared = data_linear**2 fig, axs = plt.subplots(2, 2) axs[0, 0].plot(data_linear) axs[0, 1].plot(data_squared) axs[1, 0].scatter(data_linear, data_linear) axs[1, 1].scatter(data_linear, data_squared) plt.show()
У першому рядку розташовано два лінійні графіки; у другому рядку — дві діаграми розсіювання.
Кожен графік необхідно створювати за допомогою методу відповідного об'єкта Axes, а не plt.plot() чи plt.scatter().
Перетворення у одномірний масив
Можна перетворити двовимірний масив Axes у одномірний за допомогою .ravel(), щоб спростити індексацію:
123456789fig, axs = plt.subplots(2, 2) axs = axs.ravel() axs[0].plot(data_linear) axs[1].plot(data_squared) axs[2].scatter(data_linear, data_linear) axs[3].scatter(data_linear, data_squared) plt.show()
За допомогою масиву 2x2 axs.ravel() перетворює його на одномірний масив із чотирьох елементів.
Спільна вісь
Функція subplots() також має параметри sharex та sharey. Вони керують тим, чи будуть осі x або y спільними для всіх підграфіків. Обидва параметри за замовчуванням встановлені у значення False.
123456789fig, axs = plt.subplots(2, 2, sharex=True) axs = axs.ravel() axs[0].plot(data_linear) axs[1].plot(data_squared) axs[2].scatter(data_linear, data_linear) axs[3].scatter(data_linear, data_squared) plt.show()
Встановлення sharex=True дозволяє спільно використовувати вісь x для всіх підграфіків.
Також можна передати значення 'row' або 'col', щоб спільно використовувати осі лише в межах рядків або стовпців.
Як завжди, не соромтеся досліджувати більше у
subplots() документації, якщо бажаєте.
Swipe to start coding
- Використати відповідну функцію для створення сітки підграфіків.
- Сітка повинна містити 3 рядки та 1 стовпець (вкажіть перші два параметри).
- Вкажіть крайній правий іменований аргумент, щоб вісь x була спільною для всіх підграфіків.
- Зберегти результат функції створення підграфіків у змінних
figтаaxs(зліва направо). - Розмістити перший лінійний графік для
data_linearу першому рядку (рядок0) сітки підграфіків. - Розмістити другий лінійний графік для
data_squaredу другому рядку (рядок1) сітки підграфіків. - Розмістити третій лінійний графік для
data_expу третьому рядку (рядок2) сітки підграфіків.
Рішення
Дякуємо за ваш відгук!
single