matplotlib.pyplot.subplots
- matplotlib.pyplot.subplots(nrows=1, ncols=1, *, sharex=False, sharey=False, squeeze=True, width_ratios=None, height_ratios=None, subplot_kw=None, gridspec_kw=None, **fig_kw)[source]
-
Создаёт фигуру и набор подграфиков.
Эта утилитарная обёртка упрощает создание общих макетов подграфиков, включая объект содержащей фигуры, в одном вызове.
- Параметры:
-
- nrows, ncolsint, по умолчанию: 1
-
Количество строк/столбцов в сетке подграфиков.
- sharex, shareybool или {'none', 'all', 'row', 'col'}, по умолчанию: False
-
Управляет совместным использованием свойств между осями x (sharex) или y (sharey):
- True или 'all': ось x или y будет общей для всех подграфиков.
- False или 'none': каждая ось x или y каждого подграфика будет независимой.
- 'row': каждая строка подграфиков будет иметь общую ось x или y.
- 'col': каждый столбец подграфиков будет иметь общую ось x или y.
Когда подграфики имеют общую ось x по столбцу, только метки делений по оси x нижнего подграфика создаются. Аналогично, когда подграфики имеют общую ось y по строке, метки делений по оси y только первого подграфика в столбце создаются. Чтобы позже включить метки делений других подграфиков, используйте
tick_params.Когда подграфики имеют общую ось с единицами, вызов
Axis.set_unitsобновит каждую ось с новыми единицами.Обратите внимание, что разделить оси невозможно.
- squeezebool, по умолчанию: True
-
-
Если True, дополнительные измерения из возвращаемого массива
Axesсжимаются:- если построен только один подграфик (nrows=ncols=1), возвращаемый объект Axes возвращается как скаляр.
- для Nx1 или 1xM подграфиков, возвращаемый объект - одномерный массив numpy объектов Axes.
- для NxM подграфиков с N>1 и M>1 возвращается двумерный массив.
- Если False, никакого сжатия не выполняется: возвращаемый объект Axes всегда является двумерным массивом, содержащим экземпляры Axes, даже если он в итоге оказывается 1x1.
-
- width_ratiosмассив-подобный объект длины ncols, необязательный
-
Определяет относительные ширины столбцов. Каждый столбец получает относительную ширину
width_ratios[i] / sum(width_ratios). Если не указано, все столбцы будут иметь одинаковую ширину. Эквивалентноgridspec_kw={'width_ratios': [...]}. - height_ratiosмассив-подобный объект длины nrows, необязательный
-
Определяет относительные высоты строк. Каждая строка получает относительную высоту
height_ratios[i] / sum(height_ratios). Если не указано, все строки будут иметь одинаковую высоту. Удобство дляgridspec_kw={'height_ratios': [...]}. - subplot_kwdict, необязательный
-
Словарь с ключевыми словами, передаваемыми в вызов
add_subplotдля создания каждого подграфика. - gridspec_kwdict, необязательный
-
Словарь с ключевыми словами, передаваемыми конструктору
GridSpec, используемому для создания сетки, на которой размещаются подграфики. - **fig_kw
-
Все дополнительные ключевые аргументы передаются в вызов
pyplot.figure.
- Возвращаемое значение:
-
-
fig
Figure -
ax
Axesили массив Axes -
ax может быть одиночным объектом
Axes, или массивом объектов Axes, если было создано более одного подграфика. Размер получившегося массива можно контролировать с помощью ключевого слова squeeze, см. выше.Типичные способы обработки возвращаемого значения:
# using the variable ax for single a Axes fig, ax = plt.subplots() # using the variable axs for multiple Axes fig, axs = plt.subplots(2, 2) # using tuple unpacking for multiple Axes fig, (ax1, ax2) = plt.subplots(1, 2) fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2)
Имена
axи множественное числоaxsпредпочтительнее, чемaxes, потому что для последнего неясно, относится ли оно к одному экземпляруAxesили к набору таких.
-
fig
Примеры
# First create some toy data: x = np.linspace(0, 2*np.pi, 400) y = np.sin(x**2) # Create just a figure and only one subplot fig, ax = plt.subplots() ax.plot(x, y) ax.set_title('Simple plot') # Create two subplots and unpack the output array immediately f, (ax1, ax2) = plt.subplots(1, 2, sharey=True) ax1.plot(x, y) ax1.set_title('Sharing Y axis') ax2.scatter(x, y) # Create four polar Axes and access them through the returned array fig, axs = plt.subplots(2, 2, subplot_kw=dict(projection="polar")) axs[0, 0].plot(x, y) axs[1, 1].scatter(x, y) # Share a X axis with each column of subplots plt.subplots(2, 2, sharex='col') # Share a Y axis with each row of subplots plt.subplots(2, 2, sharey='row') # Share both X and Y axes with all subplots plt.subplots(2, 2, sharex='all', sharey='all') # Note that this is the same as plt.subplots(2, 2, sharex=True, sharey=True) # Create figure number 10 with a single subplot # and clears it if it already exists. fig, ax = plt.subplots(num=10, clear=True)
Примеры использования matplotlib.pyplot.subplots
Дискретное распределение как горизонтальный столбиковый график
Сопоставление свойств маркеров с многомерными данными
Заполнение областей, определённых логической маской, с помощью fill_between
Создание временной шкалы с линиями, датами и текстом
Демонстрация tricontour с плавными линиями (Delaunay)
Демонстрация tricontour с плавными линиями (пользовательские данные)
Управление пределами отображения с помощью отступов и sticky_edges
Изменение размера областей с помощью ограниченного макета
Изменение размера областей с помощью плотного макета
Объединение двух подграфиков с помощью subplots и GridSpec
Создание нескольких подграфиков с помощью plt.subplots
Диаграммы размаха с настраиваемыми цветами заливки
Отдельное вычисление и построение диаграмм размаха
Построение эллипса доверия двумерного набора данных
Создание прямоугольников из погрешностей с помощью PatchCollection
Демонстрация различных настроек histtype функции histogram
Функция histogram (hist) с несколькими наборами данных
Линия, Полигон и Правильный многоугольник с автоматическим масштабированием
Отображение нескольких линий с помощью LineCollection
Управление положением и размером цветовых шкал с помощью Вложенных осей
Диаграмма рассеяния с гистограммами (локализуемые оси)
Анимированное изображение с использованием предварительно вычисленного списка изображений
Построение гистограмм с помощью прямоугольников и PolyCollections
Построение графиков с использованием ключевых слов
Диаграмма в виде радара (паутинная или звездчатая)
Форматирование меток дат с помощью ConciseDateFormatter
Пользовательский форматер меток для временных рядов
Установить метки делений оси y справа по умолчанию
Выбор индексов из коллекции с помощью селектора многоугольников
Организация нескольких областей построения графиков в одной фигуре
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.subplots.html