matplotlib.pyplot.subplot
-
matplotlib.pyplot.subplot(*args, **kwargs)[source] -
Добавление подграфика к текущей фигуре.
Оборачивающий метод
Figure.add_subplotс различиями в поведении, описанными в разделе примечаний.Варианты вызова:
subplot(nrows, ncols, index, **kwargs) subplot(pos, **kwargs) subplot(**kwargs) subplot(ax)
Параметры: -
*argsint, (int, int, index), or SubplotSpec, default: (1, 1, 1) -
Позиция подграфика, описываемая одним из следующих способов:
- Три целых числа (nrows, ncols, index). Подграфик займёт позицию index на сетке с nrows строками и ncols столбцами. index начинается с 1 в верхнем левом углу и увеличивается вправо. index также может быть кортежем из двух элементов, определяющим (first, last) индексы подграфика (1-основанные, включая last), например,
fig.add_subplot(3, 1, (1, 2))создаёт подграфик, занимающий верхние 2/3 фигуры. - Трехзначное целое число. Цифры интерпретируются так, как если бы они были заданы по отдельности как три однозначных числа, т.е.
fig.add_subplot(235)равноfig.add_subplot(2, 3, 5). Обратите внимание, что это можно использовать только если подграфиков не более 9. - Объект
SubplotSpec.
- Три целых числа (nrows, ncols, index). Подграфик займёт позицию index на сетке с nrows строками и ncols столбцами. index начинается с 1 в верхнем левом углу и увеличивается вправо. index также может быть кортежем из двух элементов, определяющим (first, last) индексы подграфика (1-основанные, включая last), например,
-
projection{None, 'aitoff', 'hammer', 'lambert', 'mollweide', 'polar', 'rectilinear', str}, optional -
Тип проекции подграфика (
Axes). str — имя пользовательской проекции, см.projections. По умолчанию None соответствует проекции 'rectilinear'. -
polarbool, default: False -
Если True, эквивалентно projection='polar'.
-
sharex, shareyAxes, optional -
Поделить ось x или y
axisс sharex и/или sharey. Ось будет иметь те же пределы, деления и масштаб, что и ось уделяемых осей. -
labelstr -
Метка возвращаемой оси.
Возвращаемые значения: -
axes.SubplotBase, or another subclass ofAxes -
Ось подграфика. Базовый класс возвращаемой оси зависит от используемой проекции. Это
Axes, если используется проекция rectilinear, иprojections.polar.PolarAxes, если используется проекция polar. Возвращаемая ось — подкласс базового класса, предназначенного для подграфиков.
Другие параметры: - **kwargs
-
Этот метод также принимает ключевые параметры для базового класса возвращаемой оси, за исключением аргумента figure. Ключевые параметры для базового класса rectilinear
Axesможно найти в следующей таблице, но могут быть и другие ключевые параметры, если используется другая проекция.
-
Свойство Описание adjustable{'box', 'datalim'} agg_filterфункция фильтра, которая принимает (m, n, 3) массив float и значение dpi, и возвращает массив (m, n, 3) alphafloat или None anchor2-кортеж чисел с плавающей точкой или {'C', 'SW', 'S', 'SE', ...} animatedbool aspect{'auto'} или число autoscale_onbool autoscalex_onbool autoscaley_onbool axes_locatorCallable[[Axes, Renderer], Bbox] axisbelowbool или 'line' box_aspectNone или число clip_boxBboxclip_onbool clip_pathPatch или (Path, Transform) или None containsнеизвестно facecolorили fcцвет figureFigureframe_onbool gidстрока in_layoutbool labelобъект navigatebool navigate_modeнеизвестно path_effectsAbstractPathEffectpickerNone или bool или вызываемый объект position[left, bottom, width, height] или Bboxprop_cycleнеизвестно rasterization_zorderчисло с плавающей точкой или None rasterizedbool или None sketch_params(масштаб: float, длина: float, случайность: float) snapbool или None titleстрока transformTransformurlстрока visiblebool xboundнеизвестно xlabelстрока xlim(нижняя: float, верхняя: float) xmarginчисло больше -0.5 xscale{"линейный", "логарифмический", "симлогарифмический", "логит", ...} xticklabelsнеизвестно xticksнеизвестно yboundнеизвестно ylabelстрока ylim(нижняя: float, верхняя: float) ymarginчисло больше -0.5
yscale{"линейный", "логарифмический", "симлогарифмический", "логит", ...} yticklabelsнеизвестно yticksнеизвестно zorderчисло с плавающей точкой
Примечания
Создание подграфика приведет к удалению любого существующего подграфика, который перекрывается с ним, за исключением случаев, когда они разделяют границу:
import matplotlib.pyplot as plt # plot a line, implicitly creating a subplot(111) plt.plot([1, 2, 3]) # now create a subplot which represents the top plot of a grid # with 2 rows and 1 column. Since this subplot will overlap the # first, the plot (and its axes) previously created, will be removed plt.subplot(211)
Если этого поведения не нужно, используйте метод
Figure.add_subplotили функциюpyplot.axesвместо этого.Если в figure уже есть подграфик с ключом (args, kwargs), то он просто сделает этот подграфик текущим и вернёт его. Это поведение устарело. В то же время, если этого поведения не нужно (т.е. требуется принудительное создание нового подграфика), необходимо использовать уникальный набор args и kwargs. Для этой цели раскрыт атрибут оси label: если требуется добавить в figure два подграфика, которые в остальном идентичны, необходимо обеспечить им уникальные метки.
В редких случаях,
add_subplotможет быть вызван с одним аргументом — экземпляром оси подграфика, уже созданным в текущем figure, но не в списке осей figure.Примеры
plt.subplot(221) # equivalent but more general ax1=plt.subplot(2, 2, 1) # add a subplot with no frame ax2=plt.subplot(222, frameon=False) # add a polar subplot plt.subplot(223, projection='polar') # add a red subplot that shares the x-axis with ax1 plt.subplot(224, sharex=ax1, facecolor='red') # delete ax2 from the figure plt.delaxes(ax2) # add ax2 to the figure again plt.subplot(ax2)
Примеры использования matplotlib.pyplot.subplot
Эффект масштабирования осей
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.3.3/api/_as_gen/matplotlib.pyplot.subplot.html