Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Створення Підграфіків | Розділ
Practice
Projects
Quizzes & Challenges
Вікторини
Challenges
/
Візуалізація Даних з Matplotlib

bookСтворення Підграфіків

Функція subplots() з модуля pyplot використовується для створення кількох графіків у межах однієї фігури. Ви вже бачили її при створенні полотна; тепер розглянемо її детальніше.

Рядки та стовпці

Основними аргументами є nrows та ncolumns, які визначають сітку підграфіків. За замовчуванням обидва дорівнюють 1, що створює один об'єкт Axes. subplots() повертає об'єкт Figure та або один об'єкт Axes, або масив таких об'єктів залежно від розмітки.

12345
import matplotlib.pyplot as plt fig, axs = plt.subplots(2, 2) plt.show()
copy

Було створено ґратку підграфіків розміром 2 на 2.

Note
Примітка

Оскільки існує кілька підграфіків, subplots повертає масив об'єктів Axes, який зазвичай зберігається у змінній з назвою axs (однина — ax для одного графіка).

У цьому випадку axs є двовимірним масивом, тому для доступу до конкретного підграфіка потрібно вказати як індекс рядка, так і індекс стовпця.

1234567891011121314
import 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()
copy

У першому рядку розташовано два лінійні графіки; у другому рядку — дві діаграми розсіювання. Кожен графік необхідно створювати за допомогою методу відповідного об'єкта Axes, а не plt.plot() чи plt.scatter().

Перетворення у одномірний масив

Можна перетворити двовимірний масив Axes у одномірний за допомогою .ravel(), щоб спростити індексацію:

123456789
fig, 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()
copy

За допомогою масиву 2x2 axs.ravel() перетворює його на одномірний масив із чотирьох елементів.

Спільна вісь

Функція subplots() також має параметри sharex та sharey. Вони керують тим, чи будуть осі x або y спільними для всіх підграфіків. Обидва параметри за замовчуванням встановлені у значення False.

123456789
fig, 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()
copy

Встановлення sharex=True дозволяє спільно використовувати вісь x для всіх підграфіків. Також можна передати значення 'row' або 'col', щоб спільно використовувати осі лише в межах рядків або стовпців.

Note
Додаткове вивчення

Як завжди, не соромтеся досліджувати більше у subplots() документації, якщо бажаєте.

Завдання

Swipe to start coding

  1. Використати відповідну функцію для створення сітки підграфіків.
  2. Сітка повинна містити 3 рядки та 1 стовпець (вкажіть перші два параметри).
  3. Вкажіть крайній правий іменований аргумент, щоб вісь x була спільною для всіх підграфіків.
  4. Зберегти результат функції створення підграфіків у змінних fig та axs (зліва направо).
  5. Розмістити перший лінійний графік для data_linear у першому рядку (рядок 0) сітки підграфіків.
  6. Розмістити другий лінійний графік для data_squared у другому рядку (рядок 1) сітки підграфіків.
  7. Розмістити третій лінійний графік для data_exp у третьому рядку (рядок 2) сітки підграфіків.

Рішення

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 14
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

close

bookСтворення Підграфіків

Свайпніть щоб показати меню

Функція subplots() з модуля pyplot використовується для створення кількох графіків у межах однієї фігури. Ви вже бачили її при створенні полотна; тепер розглянемо її детальніше.

Рядки та стовпці

Основними аргументами є nrows та ncolumns, які визначають сітку підграфіків. За замовчуванням обидва дорівнюють 1, що створює один об'єкт Axes. subplots() повертає об'єкт Figure та або один об'єкт Axes, або масив таких об'єктів залежно від розмітки.

12345
import matplotlib.pyplot as plt fig, axs = plt.subplots(2, 2) plt.show()
copy

Було створено ґратку підграфіків розміром 2 на 2.

Note
Примітка

Оскільки існує кілька підграфіків, subplots повертає масив об'єктів Axes, який зазвичай зберігається у змінній з назвою axs (однина — ax для одного графіка).

У цьому випадку axs є двовимірним масивом, тому для доступу до конкретного підграфіка потрібно вказати як індекс рядка, так і індекс стовпця.

1234567891011121314
import 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()
copy

У першому рядку розташовано два лінійні графіки; у другому рядку — дві діаграми розсіювання. Кожен графік необхідно створювати за допомогою методу відповідного об'єкта Axes, а не plt.plot() чи plt.scatter().

Перетворення у одномірний масив

Можна перетворити двовимірний масив Axes у одномірний за допомогою .ravel(), щоб спростити індексацію:

123456789
fig, 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()
copy

За допомогою масиву 2x2 axs.ravel() перетворює його на одномірний масив із чотирьох елементів.

Спільна вісь

Функція subplots() також має параметри sharex та sharey. Вони керують тим, чи будуть осі x або y спільними для всіх підграфіків. Обидва параметри за замовчуванням встановлені у значення False.

123456789
fig, 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()
copy

Встановлення sharex=True дозволяє спільно використовувати вісь x для всіх підграфіків. Також можна передати значення 'row' або 'col', щоб спільно використовувати осі лише в межах рядків або стовпців.

Note
Додаткове вивчення

Як завжди, не соромтеся досліджувати більше у subplots() документації, якщо бажаєте.

Завдання

Swipe to start coding

  1. Використати відповідну функцію для створення сітки підграфіків.
  2. Сітка повинна містити 3 рядки та 1 стовпець (вкажіть перші два параметри).
  3. Вкажіть крайній правий іменований аргумент, щоб вісь x була спільною для всіх підграфіків.
  4. Зберегти результат функції створення підграфіків у змінних fig та axs (зліва направо).
  5. Розмістити перший лінійний графік для data_linear у першому рядку (рядок 0) сітки підграфіків.
  6. Розмістити другий лінійний графік для data_squared у другому рядку (рядок 1) сітки підграфіків.
  7. Розмістити третій лінійний графік для data_exp у третьому рядку (рядок 2) сітки підграфіків.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 14
single

single

some-alt