Subplot Python: создание и настройка многократных графиков в Matplotlib
subplot в Python - это функционал из популярной библиотеки для научных вычислений и визуализации данных - matplotlib. Он позволяет строить графики с несколькими подграфиками на одном рисунке.
Чтобы использовать subplot в Python, нужно сначала импортировать библиотеку matplotlib.pyplot:
import matplotlib.pyplot as plt
Затем создать объект типа Figure и объект типа Axes, вызвав методы plt.figure() и fig.add_subplot() соответственно:
fig = plt.figure()
ax = fig.add_subplot(111)
111 означает, что мы создаем один столбец и одну строку из слева направо и сверху вниз, и выбираем первый (и единственный) подграфик.
Можно также использовать общий параметр для указания количества строк, столбцов и номера текущего подграфика:
ax = plt.subplot(211)
Здесь мы создаем две строки, один столбец и выбираем первый подграфик.
Как только подграфик создан, его можно редактировать так же, как и любой другой график, используя методы объекта Axes, например:
ax.plot([1,2,3], [4,5,6])
Этот код построит линейный график с тремя точками на нашем подграфике.
При этом можно также добавлять подписи к осям, заголовки, легенды, и т.д.
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_title('Title')
Также можно сохранять подграфики как изображения в форматах PNG, SVG или PDF:
plt.savefig('subplot.png')
Вот пример кода, который показывает, как использовать subplot для построения графика с двумя подграфиками, каждый из которых представляет линейный график:
import matplotlib.pyplot as plt
import numpy as np
# Создаем данные
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
# Создаем рисунок и подграфики
fig, (ax1, ax2) = plt.subplots(2, 1, sharex=True)
# Рисуем первый подграфик
ax1.plot(x, y1, '-b')
ax1.set_title('Two Subplots')
ax1.set_ylabel('y1')
# Рисуем второй подграфик
ax2.plot(x, y2, '-r')
ax2.set_xlabel('x')
ax2.set_ylabel('y2')
# Отображаем рисунок
plt.show()
Этот код построит график, который будет состоять из двух подграфиков, каждый из которых будет иметь свой линейный график, а также общую ось x и подписи на осях и заголовок графика.