matplotlib.figure
matplotlib.figure реализует следующие классы:
Figure-
Верхнеуровневый
Artist, содержащий все элементы графика. Многие методы реализованы вFigureBase. SubFigure-
Логическая фигура внутри фигуры, обычно добавляемая в фигуру (или родительскую
SubFigure) с помощью методовFigure.add_subfigureилиFigure.subfigures.
Фигуры обычно создаются с помощью методов pyplot figure, subplots и subplot_mosaic.
fig, ax = plt.subplots(figsize=(2, 2), facecolor='lightskyblue',
layout='constrained')
fig.suptitle('Figure')
ax.set_title('Axes', loc='left', fontstyle='oblique', fontsize='medium')
(Source code, 2x.png, png)
В некоторых случаях требуется создать экземпляр класса Figure напрямую, обычно внутри какого-либо приложения (список примеров см. в разделе Встраивание Matplotlib в графические пользовательские интерфейсы). Дополнительную информацию о фигурах см. в разделе Введение в фигуры.
Фигура
Класс Figure
Контейнер верхнего уровня для всех элементов графика. |
Добавление объектов Axes и подфигур
Добавить объект | |
Добавить объект | |
Добавить набор подграфиков в эту фигуру. | |
Создать расположение объектов Axes на основе ASCII-графики или вложенных списков. | |
Низкоуровневый API для создания | |
Список объектов Axes в фигуре. | |
Список объектов Axes в фигуре. | |
Удалить объект | |
Добавить набор подфигур в эту фигуру или подфигуру. | |
Добавить объект |
Сохранение
Сохранить текущую фигуру в файл как изображение или векторную графику. |
Аннотирование
Добавить цветовую шкалу к графику. | |
Разместить легенду на фигуре. | |
Добавить текст в фигуру. | |
Добавить в фигуру общий заголовок по центру. | |
Вернуть общий заголовок в виде строки или пустую строку, если он не задан. | |
Добавить в фигуру общую подпись оси X по центру. | |
Вернуть общую подпись оси X в виде строки или пустую строку, если она не задана. | |
Добавить в фигуру общую подпись оси Y по центру. | |
Вернуть общую подпись оси Y в виде строки или пустую строку, если она не задана. | |
Выровнять подписи осей X и Y подграфиков в одной строке или одном столбце соответственно, если выравнивание подписей выполняется автоматически (то есть положение подписи не задано вручную). | |
Выровнять подписи оси X подграфиков в одной строке, если выравнивание подписей выполняется автоматически (то есть положение подписи не задано вручную). | |
Выровнять подписи оси Y подграфиков в одном столбце, если выравнивание подписей выполняется автоматически (то есть положение подписи не задано вручную). | |
Выровнять заголовки подграфиков в одной строке, если выравнивание заголовков выполняется автоматически (то есть положение заголовка не задано вручную). | |
Подписи делений дат часто перекрываются, поэтому полезно повернуть их и выровнять по правому краю. |
Геометрия фигуры
Задать размер фигуры в дюймах. | |
Вернуть текущий размер фигуры в дюймах. | |
Задать высоту фигуры в дюймах. | |
Вернуть высоту фигуры в дюймах. | |
Задать ширину фигуры в дюймах. | |
Вернуть ширину фигуры в дюймах. | |
Разрешение в точках на дюйм. | |
Задать разрешение фигуры в точках на дюйм. | |
Вернуть разрешение в точках на дюйм в виде числа с плавающей точкой. |
Расположение подграфиков
Настроить параметры расположения подграфиков. | |
Задать механизм компоновки для этой фигуры. | |
Не рекомендуется или устарело
Настроить отступы между подграфиками и вокруг них. | |
[Устарело] Задать, вызывается ли | |
Вернуть информацию о том, вызывается ли | |
[Устарело] Задать, используется ли | |
Вернуть информацию о том, используется ли компоновка с ограничениями. | |
[Устарело] Задать отступы для | |
[Устарело] Получить отступы для |
Интерактивное взаимодействие
См. также
Блокирующий вызов для взаимодействия с фигурой. | |
При каждом изменении состояния объектов Axes будет вызываться | |
Блокирующий вызов для взаимодействия с фигурой. | |
Обработать событие выбора объекта. |
Изменение внешнего вида
Задать видимость фоновой области фигуры, то есть определить, будет ли отрисовываться фон фигуры. | |
Вернуть видимость фоновой области фигуры, то есть информацию о том, будет ли отрисовываться фон фигуры. | |
Задать толщину линии прямоугольника Figure. | |
Получить толщину линии прямоугольника Figure. | |
Задать цвет заливки прямоугольника Figure. | |
Получить цвет заливки прямоугольника Figure. | |
Задать цвет границы прямоугольника Figure. | |
Получить цвет границы прямоугольника Figure. |
Добавление и получение объектов Artist
Добавить объект | |
Получить список объектов Artist, содержащихся в фигуре. | |
Добавить в фигуру изображение без повторной дискретизации. |
Получение и изменение состояния
См. также
Очистить фигуру. | |
Получить текущий объект Axes. | |
Сделать a текущим объектом Axes и вернуть a. | |
Вернуть (плотную) ограничивающую рамку фигуры в дюймах. | |
Получить ограничивающую рамку объекта Artist в пространстве отображения. | |
При использовании графического бэкенда с pyplot отобразить окно фигуры. | |
Задать холст, содержащий фигуру | |
Отрисовать объект Artist (и его дочерние объекты) с помощью указанного средства визуализации. | |
Отрисовать фигуру без вывода результата. | |
Отрисовать только объект |
SubFigure
В Matplotlib есть понятие SubFigure — логической фигуры внутри родительской Figure. У неё есть многие из тех же методов, что и у родительской фигуры. См. раздел Вложенные макеты Axes.
(Source code, 2x.png, png)
Класс SubFigure
Логическая фигура, которую можно разместить внутри фигуры. |
Добавление Axes и SubFigure
Добавить | |
Добавить | |
Добавить к этой фигуре набор подграфиков. | |
Создать компоновку Axes на основе ASCII-графики или вложенных списков. | |
Низкоуровневый API для создания | |
Удалить | |
Добавить | |
Добавить набор подфигур к этой фигуре или подфигуре. |
Аннотирование
Добавить цветовую шкалу к графику. | |
Разместить легенду на фигуре. | |
Добавить текст к фигуре. | |
Добавить к фигуре общий заголовок по центру. | |
Вернуть общий заголовок в виде строки или пустую строку, если он не задан. | |
Добавить к фигуре общую подпись оси x по центру. | |
Вернуть общую подпись оси x в виде строки или пустую строку, если она не задана. | |
Добавить к фигуре общую подпись оси y по центру. | |
Вернуть общую подпись оси y в виде строки или пустую строку, если она не задана. | |
Выровнять подписи осей x и y подграфиков в одной строке или одном столбце подграфиков (соответственно), если выравнивание подписей выполняется автоматически (то есть положение подписи не задано вручную). | |
Выровнять подписи осей x подграфиков в одной строке, если выравнивание подписей выполняется автоматически (то есть положение подписи не задано вручную). | |
Выровнять подписи осей y подграфиков в одном столбце, если выравнивание подписей выполняется автоматически (то есть положение подписи не задано вручную). | |
Выровнять заголовки подграфиков в одной строке, если выравнивание заголовков выполняется автоматически (то есть положение заголовка не задано вручную). |
Добавление и получение объектов Artist
Добавить | |
Получить список объектов Artist, содержащихся в фигуре. |
Изменение внешнего вида
Задать видимость фоновой заливки фигуры, то есть определить, будет ли отрисовываться фон фигуры. | |
Вернуть видимость фоновой заливки фигуры, то есть определить, будет ли отрисовываться фон фигуры. | |
Задать ширину линии прямоугольника Figure. | |
Получить ширину линии прямоугольника Figure. | |
Задать цвет заливки прямоугольника Figure. | |
Получить цвет заливки прямоугольника Figure. | |
Задать цвет границы прямоугольника Figure. | |
Получить цвет границы прямоугольника Figure. |
Методы-переадресации
Задать разрешение родительской фигуры в точках на дюйм. | |
Вернуть разрешение родительской фигуры в точках на дюйм в виде числа с плавающей точкой. |
Базовый класс FigureBase
- classmatplotlib.figure.FigureBase(**kwargs)[исходный код]
-
Базовый класс для
FigureиSubFigure, содержащий методы для добавления художников на рисунок или вложенный рисунок, создания Axes и т. д.- add_artist(artist, clip=False)[исходный код]
-
Добавляет
Artistна рисунок.Обычно художники добавляются к объектам
Axesс помощьюAxes.add_artist; этот метод можно использовать в редких случаях, когда художников требуется добавлять непосредственно на рисунок.- Параметры:
-
-
artist
Artist -
Художник, добавляемый на рисунок. Если у добавленного художника ранее не была задана трансформация, ему будет назначена трансформация
figure.transSubfigure. - clipbool, по умолчанию: False
-
Следует ли обрезать добавленного художника по границе рисунка.
-
artist
- Возвращает:
-
Artist-
Добавленный художник.
- add_axes(*args, **kwargs)[исходный код]
-
Добавляет
Axesна рисунок.Сигнатуры вызова:
add_axes(rect, projection=None, polar=False, **kwargs) add_axes(ax)
- Параметры:
-
- rectкортеж (left, bottom, width, height)
-
Размеры (left, bottom, width, height) новых
Axes. Все величины задаются в долях ширины и высоты рисунка. - projection{None, 'aitoff', 'hammer', 'lambert', 'mollweide', 'polar', 'rectilinear', str}, необязательный
-
Тип проекции
Axes. str — имя пользовательской проекции; см.projections. Значение по умолчанию None соответствует проекции 'rectilinear'. - polarbool, по умолчанию: False
-
Если True, эквивалентно projection='polar'.
-
axes_classтип подкласса
Axes, необязательный -
Создаваемый подкласс
axes.Axes. Этот параметр несовместим с projection и polar. Примеры см. в разделе axisartist. -
sharex, sharey
Axes, необязательный -
Общий x- или y-
axisс sharex и/или sharey. Ось будет иметь те же пределы, деления и масштаб, что и ось общей системы Axes. - labelstr
-
Метка для возвращаемого объекта Axes.
- Возвращает:
-
-
Axesили подклассAxes -
Класс возвращаемого объекта Axes зависит от используемой проекции. При использовании прямолинейной проекции это
Axes, а при использовании полярной проекции —projections.polar.PolarAxes.
-
- Другие параметры:
-
- **kwargs
-
Этот метод также принимает именованные аргументы для возвращаемого класса Axes. Именованные аргументы для прямолинейного класса Axes
Axesприведены в следующей таблице, но при использовании другой проекции могут быть доступны и другие именованные аргументы; см. соответствующий класс Axes.Свойство
Описание
{'box', 'datalim'}
функция фильтра, принимающая массив float размера (m, n, 3) и значение dpi и возвращающая массив (m, n, 3) и два смещения от нижнего левого угла изображения
float или None
(float, float) или {'C', 'SW', 'S', 'SE', 'E', 'NE', ...}
bool
{'auto', 'equal'} или float
bool
неизвестно
неизвестно
Callable[[Axes, Renderer], Bbox]
bool или 'line'
float или None
BboxBaseили Nonebool
Patch или (Path, Transform) или None
bool или "auto"
bool
str
bool
object
bool
bool
неизвестно
список объектов
AbstractPathEffectNone, bool, float или вызываемый объект
[left, bottom, width, height] или
Bboxfloat или None
bool
(scale: float, length: float, randomness: float)
bool или None
неизвестно
str
str
bool
(lower: float, upper: float)
str
(left: float, right: float)
float больше -0.5
неизвестно
неизвестно
неизвестно
(lower: float, upper: float)
str
(bottom: float, top: float)
float больше -0.5
неизвестно
неизвестно
неизвестно
float
Примечания
В редких случаях
add_axesможно вызвать с одним аргументом — экземпляром Axes, уже созданным в текущем рисунке, но отсутствующим в списке Axes этого рисунка.Примеры
Несколько простых примеров:
rect = l, b, w, h fig = plt.figure() fig.add_axes(rect) fig.add_axes(rect, frameon=False, facecolor='g') fig.add_axes(rect, polar=True) ax = fig.add_axes(rect, projection='polar') fig.delaxes(ax) fig.add_axes(ax)
- add_gridspec(nrows=1, ncols=1, **kwargs)[исходный код]
-
Низкоуровневый API для создания
GridSpec, у которого этот рисунок является родительским.Это низкоуровневый API, позволяющий создать gridspec, а затем добавить подграфики на его основе. Большинству пользователей такая гибкость не нужна; им следует использовать методы более высокого уровня
subplotsилиsubplot_mosaic.- Параметры:
-
- nrowsint, по умолчанию: 1
-
Количество строк в сетке.
- ncolsint, по умолчанию: 1
-
Количество столбцов в сетке.
- Возвращает:
-
GridSpec
- Другие параметры:
-
- **kwargs
-
Именованные аргументы передаются в
GridSpec.
См. также
Примеры
Добавление подграфика, охватывающего две строки:
fig = plt.figure() gs = fig.add_gridspec(2, 2) ax1 = fig.add_subplot(gs[0, 0]) ax2 = fig.add_subplot(gs[1, 0]) # spans two rows: ax3 = fig.add_subplot(gs[:, 1])
- add_subfigure(subplotspec, **kwargs)[исходный код]
-
Добавляет
SubFigureна рисунок как часть компоновки подграфиков.- Параметры:
-
-
subplotspec
gridspec.SubplotSpec -
Задаёт область в родительском gridspec, в которой будет размещён вложенный рисунок.
-
subplotspec
- Возвращает:
-
SubFigure
- Другие параметры:
-
- **kwargs
-
Передаются объекту
SubFigure.
См. также
- add_subplot(*args, **kwargs)[source]
-
Добавляет
Axesна рисунок как часть компоновки подграфиков.Варианты вызова:
add_subplot(nrows, ncols, index, **kwargs) add_subplot(pos, **kwargs) add_subplot(ax) add_subplot()
- Параметры:
-
-
*argsint, (int, int, index) или
SubplotSpec, по умолчанию: (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 рисунка. - Целое число из 3 цифр. Цифры интерпретируются так, как если бы они были переданы отдельно в виде трёх однозначных целых чисел, то есть
fig.add_subplot(235)— это то же самое, что иfig.add_subplot(2, 3, 5). Обратите внимание: этот вариант можно использовать, только если подграфиков не больше 9. SubplotSpec.
В редких случаях
add_subplotможно вызвать с одним аргументом — экземпляром Axes подграфика, уже созданным в текущем рисунке, но отсутствующим в списке Axes этого рисунка. - Три целых числа (nrows, ncols, index). Подграфик занимает позицию index в сетке с nrows строками и ncols столбцами. Отсчёт index начинается с 1 в левом верхнем углу и продолжается вправо. Значение index также может быть парой чисел, задающей индексы (first, last) подграфика (отсчёт с 1, включая last); например,
- projection{None, 'aitoff', 'hammer', 'lambert', 'mollweide', 'polar', 'rectilinear', str}, необязательный
-
Тип проекции подграфика (
Axes). str — имя пользовательской проекции; см.projections. Значение None по умолчанию соответствует проекции 'rectilinear'. - polarbool, по умолчанию: False
-
Если значение равно True, эквивалентно projection='polar'.
-
axes_classтип подкласса
Axes, необязательный -
Создаваемый подкласс
axes.Axes. Этот параметр несовместим с projection и polar. Примеры см. в руководстве axisartist. -
sharex, sharey
Axes, необязательный -
Общий
axisX или Y задаётся с помощью sharex и/или sharey. У оси будут те же пределы, деления и масштаб, что и у оси общего Axes. - labelstr
-
Метка для возвращаемого Axes.
-
*argsint, (int, int, index) или
- Возвращает:
-
Axes-
Axes подграфика. Возвращаемый Axes может быть экземпляром подкласса, например
projections.polar.PolarAxesдля полярных проекций.
- Другие параметры:
-
- **kwargs
-
Этот метод также принимает именованные аргументы базового класса Axes, который возвращается; за исключением аргумента figure. Именованные аргументы для базового класса прямоугольных координат
Axesприведены в таблице ниже, однако при использовании другой проекции могут быть доступны и другие именованные аргументы.Свойство
Описание
{'box', 'datalim'}
функция фильтрации, принимающая массив float формы (m, n, 3) и значение dpi и возвращающая массив формы (m, n, 3) и два смещения от нижнего левого угла изображения
float или None
(float, float) или {'C', 'SW', 'S', 'SE', 'E', 'NE', ...}
bool
{'auto', 'equal'} или float
bool
неизвестно
неизвестно
Callable[[Axes, Renderer], Bbox]
bool или 'line'
float или None
BboxBaseили Nonebool
Patch или (Path, Transform) или None
bool или "auto"
bool
str
bool
object
bool
bool
неизвестно
список объектов
AbstractPathEffectNone, bool, float или callable
[left, bottom, width, height] или
Bboxfloat или None
bool
(scale: float, length: float, randomness: float)
bool или None
неизвестно
str
str
bool
(lower: float, upper: float)
str
(left: float, right: float)
float больше -0.5
неизвестно
неизвестно
неизвестно
(lower: float, upper: float)
str
(bottom: float, top: float)
float больше -0.5
неизвестно
неизвестно
неизвестно
float
Примеры
fig = plt.figure() fig.add_subplot(231) ax1 = fig.add_subplot(2, 3, 1) # equivalent but more general fig.add_subplot(232, frameon=False) # subplot with no frame fig.add_subplot(233, projection='polar') # polar subplot fig.add_subplot(234, sharex=ax1) # subplot sharing x-axis with ax1 fig.add_subplot(235, facecolor="red") # red subplot ax1.remove() # delete ax1 from the figure fig.add_subplot(ax1) # add ax1 back to the figure
- align_labels(axs=None)[source]
-
Выравнивает подписи осей X и Y подграфиков в одной строке или одном столбце подграфиков соответственно, если выравнивание подписей выполняется автоматически (то есть положение подписи не задано вручную).
После вызова выравнивание сохраняется при последующих событиях отрисовки.
- Параметры:
См. также
Примечания
Предполагается, что все Axes в
axsпринадлежат одному и тому жеGridSpec, поэтому их положенияSubplotSpecсоответствуют положениям на рисунке.
- align_titles(axs=None)[source]
-
Выравнивает заголовки подграфиков в одной строке подграфиков, если выравнивание заголовков выполняется автоматически (то есть положение заголовка не задано вручную).
После вызова выравнивание сохраняется при последующих событиях отрисовки.
- Параметры:
-
-
axsсписок объектов
Axes -
Необязательный список (или ndarray) объектов
Axes, заголовки которых нужно выровнять. По умолчанию выравниваются все Axes рисунка.
-
axsсписок объектов
См. также
Примечания
Предполагается, что все Axes в
axsпринадлежат одному и тому жеGridSpec, поэтому их положенияSubplotSpecсоответствуют положениям на рисунке.Примеры
Пример с заголовками:
fig, axs = plt.subplots(1, 2) axs[0].set_aspect('equal') axs[0].set_title('Title 0') axs[1].set_title('Title 1') fig.align_titles()
- align_xlabels(axs=None)[source]
-
Выравнивает подписи оси X подграфиков в одной строке подграфиков, если выравнивание подписей выполняется автоматически (то есть положение подписи не задано вручную).
После вызова выравнивание сохраняется при последующих событиях отрисовки.
Если подпись расположена снизу, она выравнивается с подписями Axes, у которых подпись также находится снизу и которые расположены в той же самой нижней строке подграфиков. Если подпись расположена сверху, она выравнивается с подписями Axes в той же самой верхней строке.
- Параметры:
См. также
Примечания
Предполагается, что все Axes в
axsпринадлежат одному и тому жеGridSpec, поэтому их положенияSubplotSpecсоответствуют положениям на рисунке.Примеры
Пример с повёрнутыми метками делений оси X:
fig, axs = plt.subplots(1, 2) for tick in axs[0].get_xticklabels(): tick.set_rotation(55) axs[0].set_xlabel('XLabel 0') axs[1].set_xlabel('XLabel 1') fig.align_xlabels()
- align_ylabels(axs=None)[исходный код]
-
Выравнивает подписи оси y подграфиков в одном столбце подграфиков, если выравнивание подписей выполняется автоматически (т. е. положение подписи задано не вручную).
Выравнивание сохраняется при отрисовке после вызова этого метода.
Если подпись расположена слева, она выравнивается с подписями осей Axes, которые также расположены слева и имеют тот же самый крайний левый столбец подграфиков. Если подпись расположена справа, она выравнивается с подписями осей Axes, имеющих тот же крайний правый столбец.
- Параметры:
См. также
Примечания
Предполагается, что все Axes в
axsпринадлежат одному и тому жеGridSpec, поэтому позиции ихSubplotSpecсоответствуют позициям на рисунке.Примеры
Пример с крупными подписями yticks:
fig, axs = plt.subplots(2, 1) axs[0].plot(np.arange(0, 1000, 50)) axs[0].set_ylabel('YLabel 0') axs[1].set_ylabel('YLabel 1') fig.align_ylabels()
- autofmt_xdate(bottom=0.2, rotation=30, ha='right', which='major')[исходный код]
-
Подписи делений дат часто перекрываются, поэтому полезно повернуть их и выровнять по правому краю. Также часто используется несколько подграфиков с общей осью x, на которой отображаются даты. Подписи делений часто бывают длинными, поэтому полезно повернуть их на нижнем подграфике и скрыть на остальных, а также скрыть подписи оси x.
- Параметры:
-
- bottomfloat, по умолчанию: 0.2
-
Нижняя граница подграфиков для
subplots_adjust. - rotationfloat, по умолчанию: 30 градусов
-
Угол поворота подписей делений оси x в градусах.
- ha{'left', 'center', 'right'}, по умолчанию: 'right'
-
Горизонтальное выравнивание подписей делений оси x.
- which{'major', 'minor', 'both'}, по умолчанию: 'major'
-
Выбирает, какие подписи делений поворачивать.
- clear(keep_observers=False)[исходный код]
-
Очистить рисунок.
- Параметры:
-
- keep_observersbool, по умолчанию: False
-
Установите keep_observers в True, если, например, виджет графического интерфейса отслеживает Axes на рисунке.
- clf(keep_observers=False)[исходный код]
-
[Не рекомендуется] Псевдоним метода
clear().Не рекомендуется
Использование
clf()не рекомендуется. Вместо него используйтеclear().- Параметры:
-
- keep_observersbool, по умолчанию: False
-
Установите keep_observers в True, если, например, виджет графического интерфейса отслеживает Axes на рисунке.
- colorbar(mappable, cax=None, ax=None, use_gridspec=True, **kwargs)[исходный код]
-
Добавить цветовую шкалу к графику.
- Параметры:
-
- mappable
-
matplotlib.cm.ScalarMappable(то естьAxesImage,ContourSetи т. д.), описываемый этой цветовой шкалой. Этот аргумент обязателен для методаFigure.colorbar, но необязателен для функцииpyplot.colorbar, которая по умолчанию использует текущее изображение.Обратите внимание, что можно создать
ScalarMappable«на лету», чтобы построить цветовые шкалы, не связанные с ранее отрисованным объектом, например:fig.colorbar(cm.ScalarMappable(norm=norm, cmap=cmap), ax=ax)
-
cax
Axes, необязательный -
Объект Axes, в котором будет нарисована цветовая шкала. Если
None, создаётся новый Axes, а пространство для него выделяется за счёт Axes, указанных в ax. -
ax
Axes, итерируемый объект илиnumpy.ndarrayиз Axes, необязательный -
Одна или несколько родительских осей Axes, за счёт которых будет выделено пространство для нового Axes цветовой шкалы. Этот параметр используется только в том случае, если cax не задан.
По умолчанию используется Axes, содержащий mappable, с помощью которого создана цветовая шкала.
- use_gridspecbool, необязательный
-
Если cax —
None, новый cax создаётся как экземпляр Axes. Если для ax задан subplotspec и use_gridspec равенTrue, то для cax также задаётся subplotspec.
- Возвращает:
-
-
colorbar
Colorbar
-
colorbar
- Другие параметры:
-
- locationNone или {'left', 'right', 'top', 'bottom'}
-
Положение Axes цветовой шкалы относительно родительского Axes. Оно также определяет orientation цветовой шкалы (цветовые шкалы слева и справа располагаются вертикально, а сверху и снизу — горизонтально). Если задано None, положение определяется значением orientation, если оно указано (вертикальные цветовые шкалы располагаются справа, горизонтальные — снизу); если orientation не задано, по умолчанию используется 'right'.
- orientationNone или {'vertical', 'horizontal'}
-
Ориентация цветовой шкалы. Предпочтительно задавать её положение с помощью location, поскольку оно также определяет orientation; передача несовместимых значений для location и orientation вызывает исключение.
- fractionfloat, по умолчанию: 0.15
-
Доля исходного Axes, используемая для цветовой шкалы.
- shrinkfloat, по умолчанию: 1.0
-
Коэффициент изменения размера цветовой шкалы.
- aspectfloat, по умолчанию: 20
-
Отношение длинной стороны к короткой.
- padfloat, по умолчанию: 0.05 при вертикальной ориентации, 0.15 при горизонтальной
-
Доля исходного Axes между цветовой шкалой и новым Axes изображения.
- anchor(float, float), необязательный
-
Точка привязки Axes цветовой шкалы. По умолчанию (0.0, 0.5) при вертикальной ориентации; (0.5, 1.0) при горизонтальной.
- panchor(float, float) или False, необязательный
-
Точка привязки родительского Axes цветовой шкалы. Если задано False, точка привязки родительской оси не изменяется. По умолчанию (1.0, 0.5) при вертикальной ориентации; (0.5, 0.0) при горизонтальной.
- extend{'neither', 'both', 'min', 'max'}
-
Добавляет заострённые окончания для значений вне диапазона (если указано не 'neither'). Они задаются для соответствующей цветовой карты с помощью методов set_under и set_over.
- extendfrac{None, 'auto', length, lengths}
-
Если задано None, длина обоих треугольных окончаний цветовой шкалы — для минимального и максимального значений — составит 5% от длины внутренней части цветовой шкалы (это значение используется по умолчанию).
Если задано 'auto', длина треугольных окончаний цветовой шкалы будет такой же, как у внутренних прямоугольников (если для spacing задано 'uniform'), либо такой же, как у соответствующих соседних внутренних прямоугольников (если для spacing задано 'proportional').
Если задано скалярное значение, оно определяет длину обоих треугольных окончаний цветовой шкалы — для минимального и максимального значений — как долю от длины её внутренней части. Также можно указать последовательность из двух долей, задающих длину окончаний для минимального и максимального значений соответственно как долю от длины внутренней части цветовой шкалы.
- extendrectbool
-
Если задано False, окончания цветовой шкалы для минимального и максимального значений будут треугольными (значение по умолчанию). Если задано True, окончания будут прямоугольными.
- ticksNone, список делений или Locator
-
Если задано None, деления определяются автоматически на основе входных данных.
- formatNone, str или Formatter
-
Если задано None, используется
ScalarFormatter. Поддерживаются строки формата, например"%4.2e"или"{x:.2e}". Вместо этого можно указать альтернативныйFormatter. - drawedgesbool
-
Указывает, нужно ли рисовать линии на границах цветов.
- labelstr
-
Подпись вдоль длинной оси цветовой шкалы.
- boundaries, valuesNone или последовательность
-
Если параметр не задан, цветовая карта отображается в диапазоне 0–1. Если заданы последовательности, длина values должна быть на единицу меньше длины boundaries. Для каждой области, ограниченной соседними элементами boundaries, используется цвет, соответствующий значению в values. Размер каждой области определяется параметром spacing. Обычно это полезно только для индексированных цветов (то есть
norm=NoNorm()) или в других особых случаях. - spacing{'uniform', 'proportional'}
-
Для дискретных цветовых шкал (
BoundaryNormили контуров) значение 'uniform' выделяет каждому цвету одинаковое пространство; 'proportional' делает пространство пропорциональным интервалу данных.
Примечания
Если mappable — это
ContourSet, его аргумент extend включается автоматически.Аргумент shrink позволяет просто масштабировать цветовую шкалу относительно Axes. Обратите внимание: если задан cax, он определяет размер цветовой шкалы, а shrink и aspect игнорируются.
Для более точного управления можно вручную указать позиции объектов осей, в которых отображаются mappable и цветовая шкала. В этом случае не используйте аргументы свойств Axes.
Известно, что некоторые средства просмотра векторной графики (svg и pdf) отображают белые промежутки между сегментами цветовой шкалы. Это связано с ошибками в средствах просмотра, а не в Matplotlib. В качестве обходного решения цветовую шкалу можно отрисовать с перекрывающимися сегментами:
cbar = colorbar() cbar.solids.set_edgecolor("face") draw()Однако это может привести к нежелательным последствиям в других случаях, например при работе с полупрозрачными изображениями (alpha < 1) и окончаниями цветовой шкалы; поэтому это обходное решение не используется по умолчанию (см. issue #1188).
- contains(mouseevent)[исходный код]
-
Проверить, произошло ли событие мыши на рисунке.
- Возвращает:
-
- bool, {}
- delaxes(ax)[исходный код]
-
Удалить
Axesax с рисунка; обновить текущий Axes.
- draw(renderer)[исходный код]
-
Отрисовать Artist и его дочерние элементы с помощью указанного средства отрисовки.
Ничего не делает, если объект Artist невидим (метод
Artist.get_visibleвозвращает False).- Параметры:
-
-
rendererподкласс
RendererBase.
-
rendererподкласс
Примечания
Этот метод переопределяется в подклассах Artist.
- propertyfigure
-
Корневой объект
Figure. Чтобы получить родительский объектSubFigure, используйте методget_figure.
- propertyframeon
-
Возвращает состояние видимости фоновой области рисунка, то есть указывает, будет ли отрисован фон рисунка. Эквивалентно
Figure.patch.get_visible().
- gca()[исходный код]
-
Получить текущий Axes.
Если на этом Figure сейчас нет Axes, новый Axes создаётся с помощью
Figure.add_subplot. (Чтобы проверить, есть ли сейчас Axes на Figure, убедитесь, чтоfigure.axesпуст. Чтобы проверить, есть ли сейчас Figure в стеке фигур pyplot, убедитесь, чтоpyplot.get_fignums()пуст.)
- get_children()[исходный код]
-
Получить список объектов Artist, содержащихся на рисунке.
- get_default_bbox_extra_artists()[исходный код]
-
Возвращает список объектов Artist, обычно используемых в
Figure.get_tightbbox.
- get_edgecolor()[исходный код]
-
Получить цвет края прямоугольника Figure.
- get_facecolor()[исходный код]
-
Получить цвет заливки прямоугольника Figure.
- get_figure(root=None)[исходный код]
-
Возвращает экземпляр
FigureилиSubFigure, которому принадлежит этот (Sub)Figure.- Параметры:
-
- rootbool, по умолчанию: True
-
Если False, возвращает (Sub)Figure, к которому относится этот объект Artist. Если True, возвращает корневой Figure во вложенной структуре SubFigures.
Устарело с версии 3.10: Начиная с версии 3.12 значение root по умолчанию будет False.
- get_frameon()[исходный код]
-
Возвращает состояние видимости фоновой области рисунка, то есть указывает, будет ли отрисован фон рисунка. Эквивалентно
Figure.patch.get_visible().
- get_linewidth()[исходный код]
-
Получить ширину линии прямоугольника Figure.
- get_suptitle()[исходный код]
-
Возвращает общий заголовок в виде строки или пустую строку, если он не задан.
- get_supxlabel()[исходный код]
-
Возвращает общую подпись оси x в виде строки или пустую строку, если она не задана.
- get_supylabel()[исходный код]
-
Возвращает общую подпись оси y в виде строки или пустую строку, если она не задана.
- get_tightbbox(renderer=None, *, bbox_extra_artists=None)[исходный код]
-
Возвращает (точную) ограничивающую рамку фигуры в дюймах.
Обратите внимание, что
FigureBaseотличается от всех остальных художников: они возвращают своиBboxв пикселях.Художники, у которых есть
artist.set_in_layout(False), не включаются в ограничивающую рамку.- Параметры:
-
-
rendererподкласс
RendererBase -
Средство визуализации, которое будет использоваться для рисования фигур (например,
fig.canvas.get_renderer()) -
bbox_extra_artistsсписок
ArtistилиNone -
Список художников, которые следует включить в точную ограничивающую рамку. Если задано
None(по умолчанию), в точную ограничивающую рамку включаются все дочерние художники каждой Axes.
-
rendererподкласс
- Возвращает:
-
BboxBase-
содержащий ограничивающую рамку (в дюймах фигуры).
- get_window_extent(renderer=None)[исходный код]
-
Получает ограничивающую рамку художника в пространстве отображения.
Ширина и высота ограничивающей рамки неотрицательны.
Подклассам следует переопределить этот метод, чтобы включить объект в расчёт «точной» ограничивающей рамки. По умолчанию возвращается пустая ограничивающая рамка в точке 0, 0.
Будьте осторожны при использовании этой функции: результаты не будут обновляться, если изменится область окна художника. Область может измениться из-за любых изменений в стеке преобразований, например при изменении пределов Axes, размера фигуры или используемого холста (как это происходит при сохранении фигуры). Это может привести к неожиданному поведению: интерактивные фигуры будут выглядеть нормально на экране, но сохраняться некорректно.
- legend(*args, **kwargs)[исходный код]
-
Размещает легенду на фигуре.
Сигнатуры вызова:
legend() legend(handles, labels) legend(handles=handles) legend(labels)
Сигнатуры вызова соответствуют следующим различным способам использования этого метода:
1. Автоматическое определение элементов, отображаемых в легенде
Элементы, добавляемые в легенду, определяются автоматически, если не передавать дополнительные аргументы.
В этом случае подписи берутся из художника. Их можно задать при создании художника или вызвав метод
set_label()для художника:ax.plot([1, 2, 3], label='Inline label') fig.legend()
или:
line, = ax.plot([1, 2, 3]) line.set_label('Label via method') fig.legend()Отдельные линии можно исключить из автоматического выбора элементов легенды, задав подпись, начинающуюся с символа подчёркивания. Это значение используется по умолчанию для всех художников, поэтому вызов
Figure.legendбез аргументов и без ручной установки подписей приведёт к тому, что легенда не будет отображена.2. Явное перечисление художников и подписей в легенде
Чтобы полностью контролировать, для каких художников будет создана запись в легенде, можно передать итерируемый объект с художниками легенды, а затем итерируемый объект с соответствующими подписями:
fig.legend([line1, line2, line3], ['label1', 'label2', 'label3'])
3. Явное перечисление художников в легенде
Этот способ аналогичен способу 2, но подписи берутся из свойств подписи художников. Пример:
line1, = ax1.plot([1, 2, 3], label='label1') line2, = ax2.plot([1, 2, 3], label='label2') fig.legend(handles=[line1, line2])
4. Добавление подписей к существующим элементам графика
Не рекомендуется
Эта сигнатура вызова не рекомендуется, поскольку связь между элементами графика и подписями задаётся только неявно их порядком, из-за чего их легко перепутать.
Чтобы создать легенду для всех художников на всех Axes, вызовите эту функцию, передав итерируемый объект со строками — по одной для каждого элемента легенды. Например:
fig, (ax1, ax2) = plt.subplots(1, 2) ax1.plot([1, 3, 5], color='blue') ax2.plot([2, 4, 6], color='red') fig.legend(['the blues', 'the reds'])
- Параметры:
-
-
handlesнеобязательный список
Artist -
Список художников (линий, областей), которые следует добавить в легенду. Используйте вместе с labels, если нужен полный контроль над тем, что отображается в легенде, и описанного выше автоматического механизма недостаточно.
В этом случае длины списков handles и labels должны совпадать. Если это не так, списки будут усечены до меньшей длины.
- labelsнеобязательный список строк
-
Список подписей, отображаемых рядом с художниками. Используйте вместе с handles, если нужен полный контроль над тем, что отображается в легенде, и описанного выше автоматического механизма недостаточно.
-
handlesнеобязательный список
- Возвращает:
-
Legend
- Другие параметры:
-
- locстрока или пара чисел с плавающей точкой, по умолчанию: 'upper right'
-
Расположение легенды.
Строки
'upper left','upper right','lower left','lower right'размещают легенду в соответствующем углу фигуры.Строки
'upper center','lower center','center left','center right'размещают легенду по центру соответствующего края фигуры.Строка
'center'размещает легенду в центре фигуры.В качестве расположения также можно указать кортеж из двух элементов с координатами левого нижнего угла легенды в координатах фигуры (в этом случае bbox_to_anchor игнорируется).
Для обратной совместимости
'center right'(но не любое другое расположение) также можно записать как'right', а каждое строковое расположение можно указать числовым значением:Строка расположения
Код расположения
'best' (только Axes)
0
'upper right'
1
'upper left'
2
'lower left'
3
'lower right'
4
'right'
5
'center left'
6
'center right'
7
'lower center'
8
'upper center'
9
'center'
10
Если для фигуры используется менеджер ограниченного размещения, строковые коды аргумента-ключевого слова loc позволяют улучшить компоновку с помощью префикса 'outside'. В углах возможно неоднозначное толкование, поэтому 'outside upper right' оставит место для легенды над остальными осями в компоновке, а 'outside right upper' оставит место справа от компоновки. Помимо перечисленных выше значений loc, доступны 'outside right upper', 'outside right lower', 'outside left upper' и 'outside left lower'. Подробнее см. в руководстве по легендам.
-
bbox_to_anchor
BboxBase, кортеж из 2 или 4 чисел с плавающей точкой -
Область, используемая для позиционирования легенды совместно с loc. По умолчанию
axes.bbox(если вызван как метод дляAxes.legend) илиfigure.bbox(еслиfigure.legend). Этот аргумент позволяет произвольно размещать легенду.Координаты Bbox интерпретируются в системе координат, заданной параметром bbox_transform; по умолчанию используются координаты Axes или Figure в зависимости от того, какой
legendвызывается.Если задан кортеж из 4 элементов или
BboxBase, он задаёт(x, y, width, height)ограничивающей рамки, в которой размещается легенда. Чтобы разместить легенду в лучшем месте нижнего правого квадранта Axes (или фигуры):loc='best', bbox_to_anchor=(0.5, 0., 0.5, 0.5)
Кортеж из 2 элементов
(x, y)размещает угол легенды, заданный параметром loc, в точке x, y. Например, чтобы разместить верхний правый угол легенды в центре Axes (или фигуры), можно использовать следующие ключевые слова:loc='upper right', bbox_to_anchor=(0.5, 0.5)
- ncolsцелое число, по умолчанию: 1
-
Количество столбцов в легенде.
Для обратной совместимости также поддерживается написание ncol, но оно не рекомендуется. Если заданы оба параметра, приоритет имеет ncols.
-
propNone,
FontPropertiesили словарь -
Параметры шрифта легенды. Если указано None (по умолчанию), будут использоваться текущие
matplotlib.rcParams. - fontsizeцелое число или {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}
-
Размер шрифта легенды. Если значение числовое, оно задаёт абсолютный размер шрифта в пунктах. Строковые значения задаются относительно текущего размера шрифта по умолчанию. Этот аргумент используется только в том случае, если параметр prop не задан.
-
labelcolorстрока или список, по умолчанию:
rcParams["legend.labelcolor"](по умолчанию:'None') -
Цвет текста в легенде. Допустимая строка с названием цвета (например, 'red') или список строк с названиями цветов. Можно также задать цвет подписей в соответствии с цветом линии или маркера с помощью 'linecolor', 'markerfacecolor' (или 'mfc') либо 'markeredgecolor' (или 'mec').
Цвет подписей можно задать глобально с помощью
rcParams["legend.labelcolor"](по умолчанию:'None'). Если указано None, используетсяrcParams["text.color"](по умолчанию:'black'). -
numpointsцелое число, по умолчанию:
rcParams["legend.numpoints"](по умолчанию:1) -
Количество точек-маркеров в легенде при создании записи для
Line2D(линии). -
scatterpointsцелое число, по умолчанию:
rcParams["legend.scatterpoints"](по умолчанию:1) -
Количество точек-маркеров в легенде при создании записи для
PathCollection(диаграммы рассеяния). -
scatteryoffsetsитерируемый объект с числами с плавающей точкой, по умолчанию:
[0.375, 0.5, 0.3125] -
Вертикальное смещение (относительно размера шрифта) маркеров, создаваемых для записи легенды диаграммы рассеяния. Значение 0.0 соответствует основанию текста легенды, а 1.0 — его верхнему краю. Чтобы нарисовать все маркеры на одной высоте, задайте
[0.5]. -
markerscaleчисло с плавающей точкой, по умолчанию:
rcParams["legend.markerscale"](по умолчанию:1.0) -
Относительный размер маркеров легенды по сравнению с исходными маркерами.
- markerfirstлогическое значение, по умолчанию: True
-
Если задано True, маркер легенды размещается слева от подписи. Если задано False, маркер легенды размещается справа от подписи.
- reverseлогическое значение, по умолчанию: False
-
Если задано True, подписи легенды отображаются в обратном порядке относительно входных данных. Если задано False, подписи легенды отображаются в том же порядке, что и входные данные.
Добавлено в версии 3.7.
-
frameonлогическое значение, по умолчанию:
rcParams["legend.frameon"](по умолчанию:True) -
Следует ли отображать легенду на плашке (рамке).
-
fancyboxлогическое значение, по умолчанию:
rcParams["legend.fancybox"](по умолчанию:True) -
Следует ли скруглять углы
FancyBboxPatch, образующей фон легенды. -
shadowNone, логическое значение или словарь, по умолчанию:
rcParams["legend.shadow"](по умолчанию:False) -
Следует ли отрисовывать тень за легендой. Настроить тень можно с помощью ключевых слов
Patch. Настройка черезrcParams["legend.shadow"](по умолчанию:False) в настоящее время не поддерживается. -
framealphaчисло с плавающей точкой, по умолчанию:
rcParams["legend.framealpha"](по умолчанию:0.8) -
Альфа-прозрачность фона легенды. Если включена shadow, а для framealpha задано
None, значение по умолчанию игнорируется. -
facecolor"inherit" или цвет, по умолчанию:
rcParams["legend.facecolor"](по умолчанию:'inherit') -
Цвет фона легенды. Если задано
"inherit", используетсяrcParams["axes.facecolor"](по умолчанию:'white'). -
edgecolor"inherit" или цвет, по умолчанию:
rcParams["legend.edgecolor"](по умолчанию:'0.8') -
Цвет края плашки фона легенды. Если задано
"inherit", используетсяrcParams["axes.edgecolor"](по умолчанию:'black'). - mode{"expand", None}
-
Если для mode задано
"expand", легенда будет горизонтально растянута на всю область Axes (или bbox_to_anchor, если он задаёт размер легенды). -
bbox_transformNone или
Transform -
Преобразование ограничивающей рамки (bbox_to_anchor). Если задано
None(по умолчанию), будет использоваться преобразованиеtransAxesдля Axes. - titleстрока или None
-
Заголовок легенды. По умолчанию заголовка нет (
None). -
title_fontpropertiesNone,
FontPropertiesили словарь -
Параметры шрифта заголовка легенды. Если указано None (по умолчанию), будет использоваться аргумент title_fontsize, если он задан; если для title_fontsize также указано None, будут использоваться текущие
rcParams["legend.title_fontsize"](по умолчанию:None). -
title_fontsizeцелое число или {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}, по умолчанию:
rcParams["legend.title_fontsize"](по умолчанию:None) -
Размер шрифта заголовка легенды. Примечание: этот параметр нельзя использовать вместе с title_fontproperties. Чтобы задать размер шрифта вместе с другими параметрами шрифта, используйте параметр size в title_fontproperties.
- alignment{'center', 'left', 'right'}, по умолчанию: 'center'
-
Выравнивание заголовка легенды и блока записей. Записи выравниваются как единый блок, поэтому маркеры всегда находятся на одной линии.
-
borderpadчисло с плавающей точкой, по умолчанию:
rcParams["legend.borderpad"](по умолчанию:0.4) -
Доля пустого пространства внутри рамки легенды, в единицах размера шрифта.
-
labelspacingчисло с плавающей точкой, по умолчанию:
rcParams["legend.labelspacing"](по умолчанию:0.5) -
Вертикальное расстояние между записями легенды, в единицах размера шрифта.
-
handlelengthчисло с плавающей точкой, по умолчанию:
rcParams["legend.handlelength"](по умолчанию:2.0) -
Длина условных обозначений в легенде, в единицах размера шрифта.
-
handleheightчисло с плавающей точкой, по умолчанию:
rcParams["legend.handleheight"](по умолчанию:0.7) -
Высота условных обозначений в легенде, в единицах размера шрифта.
-
handletextpadчисло с плавающей точкой, по умолчанию:
rcParams["legend.handletextpad"](по умолчанию:0.8) -
Расстояние между условным обозначением и текстом легенды, в единицах размера шрифта.
-
borderaxespadчисло с плавающей точкой, по умолчанию:
rcParams["legend.borderaxespad"](по умолчанию:0.5) -
Расстояние между Axes и рамкой легенды, в единицах размера шрифта.
-
columnspacingчисло с плавающей точкой, по умолчанию:
rcParams["legend.columnspacing"](по умолчанию:2.0) -
Расстояние между столбцами, в единицах размера шрифта.
- handler_mapсловарь или None
-
Пользовательский словарь, сопоставляющий экземпляры или типы с обработчиком легенды. Этот параметр handler_map дополняет карту обработчиков по умолчанию, доступную в
matplotlib.legend.Legend.get_legend_handler_map. - draggableлогическое значение, по умолчанию: False
-
Можно ли перетаскивать легенду мышью.
См. также
Примечания
Некоторые художники не поддерживаются этой функцией. Подробности см. в руководстве по легендам.
- sca(a)[исходный код]
-
Устанавливает a в качестве текущей Axes и возвращает a.
- set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, edgecolor=<UNSET>, facecolor=<UNSET>, frameon=<UNSET>, gid=<UNSET>, in_layout=<UNSET>, label=<UNSET>, linewidth=<UNSET>, mouseover=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[исходный код]
-
Задать несколько свойств одновременно.
Поддерживаются следующие свойства:
Свойство
Описание
функция фильтра, принимающая массив float формы (m, n, 3) и значение dpi и возвращающая массив формы (m, n, 3) и два смещения от нижнего левого угла изображения
float или None
bool
BboxBaseили Nonebool
Patch или (Path, Transform) или None
неизвестно
bool
str
bool
object
число
bool
список
AbstractPathEffectNone, bool, float или вызываемый объект
bool
(scale: float, length: float, randomness: float)
bool или None
str
bool
float
- set_edgecolor(color)[исходный код]
-
Задать цвет контура прямоугольника Figure.
- Параметры:
-
- colorцвет
- set_facecolor(color)[исходный код]
-
Задать цвет заливки прямоугольника Figure.
- Параметры:
-
- colorцвет
- set_figure(fig)[исходный код]
-
Устарело начиная с версии 3.10: В настоящее время этот метод вызывает исключение, если fig — не корневой объект
Figure, к которому относится этот (Sub)Figure. В будущем исключение будет вызываться всегда.
- set_frameon(b)[исходный код]
-
Задать видимость фоновой области фигуры, то есть определить, будет ли отображаться фон фигуры. Эквивалентно
Figure.patch.set_visible().- Параметры:
-
- bbool
- set_linewidth(linewidth)[исходный код]
-
Задать ширину линии прямоугольника Figure.
- Параметры:
-
- linewidthчисло
- subfigures(nrows=1, ncols=1, squeeze=True, wspace=None, hspace=None, width_ratios=None, height_ratios=None, **kwargs)[исходный код]
-
Добавить набор подфигур к этой фигуре или подфигуре.
Подфигура имеет те же методы для работы с Artist, что и фигура, и логически эквивалентна фигуре, но не может выводить себя самостоятельно. См. Подфигуры Figure.
Изменено в версии 3.10: теперь подфигуры добавляются в порядке строк.
- Параметры:
-
- nrows, ncolsint, по умолчанию: 1
-
Количество строк/столбцов сетки подфигур.
- squeezebool, по умолчанию: True
-
Если True, лишние измерения удаляются из возвращаемого массива подфигур.
- wspace, hspacefloat, по умолчанию: None
-
Доля ширины/высоты, отведённая под промежутки между подфигурами и выраженная как доля средней ширины/высоты подфигуры. Если значение не задано, оно определяется по rcParams при использовании constrained layout (см.
ConstrainedLayoutEngine) или принимается равным нулю, если механизм компоновки не используется. - width_ratiosмассивоподобный объект длины ncols, необязательно
-
Задаёт относительную ширину столбцов. Относительная ширина каждого столбца равна
width_ratios[i] / sum(width_ratios). Если значение не задано, все столбцы будут иметь одинаковую ширину. - height_ratiosмассивоподобный объект длины nrows, необязательно
-
Задаёт относительную высоту строк. Относительная высота каждой строки равна
height_ratios[i] / sum(height_ratios). Если значение не задано, все строки будут иметь одинаковую высоту.
- subplot_mosaic(mosaic, *, sharex=False, sharey=False, width_ratios=None, height_ratios=None, empty_sentinel='.', subplot_kw=None, per_subplot_kw=None, gridspec_kw=None)[исходный код]
-
Создать компоновку Axes на основе ASCII-графики или вложенных списков.
Эта вспомогательная функция позволяет наглядно создавать сложные компоновки GridSpec.
Пример и полное описание API см. в разделе Сложное и семантическое построение компоновки фигуры (subplot_mosaic)
- Параметры:
-
- mosaicсписок списков из {хешируемых объектов или вложенных списков} либо str
-
Визуальная схема расположения Axes, где области обозначены строками. Например:
x = [['A panel', 'A panel', 'edge'], ['C panel', '.', 'edge']]создаёт 4 объекта Axes:
- 'A panel' — высотой в 1 строку и занимающая первые два столбца
- 'edge' — высотой в 2 строки, расположенная у правого края
- 'C panel' — занимающая 1 строку и 1 столбец в нижнем левом углу
- пустая область размером 1 строка на 1 столбец в нижней центральной части
Любой элемент компоновки может быть списком списков такого же формата, что позволяет создавать вложенные компоновки.
Если входное значение имеет тип str, это может быть многострочная строка следующего вида:
''' AAE C.E '''
где каждый символ обозначает столбец, а каждая строка — строку компоновки. Также это может быть однострочная строка, в которой строки разделены символами
;:'AB;CC'
Нотация на основе строк допускает только односимвольные метки Axes и не поддерживает вложенность, но очень компактна.
Идентификаторы Axes могут быть объектами типа
strили хешируемыми объектами, не являющимися итерируемыми (например, нельзя использоватьtuple). - sharex, shareybool, по умолчанию: False
-
Если True, ось x (sharex) или ось y (sharey) будет общей для всех подграфиков. В этом случае видимость меток делений и единицы измерения осей обрабатываются так же, как в
subplots. Если False, оси x и y каждого подграфика будут независимыми. - 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, необязательно
-
Словарь с именованными аргументами, передаваемыми вызову
Figure.add_subplot, используемому для создания каждого подграфика. Эти значения могут быть переопределены значениями из per_subplot_kw. - per_subplot_kwdict, необязательно
-
Словарь, сопоставляющий идентификаторы Axes или кортежи идентификаторов со словарями именованных аргументов, передаваемых вызову
Figure.add_subplot, используемому для создания каждого подграфика. Значения этих словарей имеют приоритет над значениями в subplot_kw.Если mosaic — строка, а значит, все ключи состоят из одного символа, вместо кортежа в качестве ключа можно использовать одну строку; то есть
"AB"эквивалентно("A", "B").Добавлено в версии 3.7.
- gridspec_kwdict, необязательно
-
Словарь с именованными аргументами, передаваемыми конструктору
GridSpec, который используется для создания сетки, на которой размещаются подграфики. Для вложенных компоновок этот аргумент применяется только к внешней компоновке. Для более сложных компоновок используйтеFigure.subfiguresдля создания вложенной структуры. - empty_sentinelobject, необязательно
-
Элемент компоновки, обозначающий «оставить это место пустым». По умолчанию
'.'. Обратите внимание: если layout — строка, для удаления начальных пробелов к ней применяетсяinspect.cleandoc, что может помешать использованию пробела в качестве маркера пустой области.
- Возвращает:
-
- dict[label, Axes]
-
Словарь, сопоставляющий метки с объектами Axes. Порядок объектов Axes соответствует расположению в общей компоновке: слева направо и сверху вниз.
- subplots(nrows=1, ncols=1, *, sharex=False, sharey=False, squeeze=True, width_ratios=None, height_ratios=None, subplot_kw=None, gridspec_kw=None)[исходный код]
-
Добавить набор подграфиков к этой фигуре.
Эта вспомогательная оболочка упрощает создание распространённых компоновок подграфиков одним вызовом.
- Параметры:
-
- 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 возвращается одномерный массив объектов Axes типа numpy.
- для подграфиков 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, необязательно
-
Словарь с именованными аргументами, передаваемыми вызову
Figure.add_subplot, используемому для создания каждого подграфика. - gridspec_kwdict, необязательно
-
Словарь с именованными аргументами, передаваемыми конструктору
GridSpec, который используется для создания сетки, на которой размещаются подграфики.
- Возвращает:
-
-
Axesили массив Axes -
Один объект
Axesили массив объектов Axes, если создано более одного подграфика. Размерность результирующего массива можно задать с помощью аргумента squeeze (см. выше).
-
См. также
Примеры
# First create some toy data: x = np.linspace(0, 2*np.pi, 400) y = np.sin(x**2) # Create a figure fig = plt.figure() # Create a subplot ax = fig.subplots() ax.plot(x, y) ax.set_title('Simple plot') # Create two subplots and unpack the output array immediately ax1, ax2 = fig.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 axes = fig.subplots(2, 2, subplot_kw=dict(projection='polar')) axes[0, 0].plot(x, y) axes[1, 1].scatter(x, y) # Share an X-axis with each column of subplots fig.subplots(2, 2, sharex='col') # Share a Y-axis with each row of subplots fig.subplots(2, 2, sharey='row') # Share both X- and Y-axes with all subplots fig.subplots(2, 2, sharex='all', sharey='all') # Note that this is the same as fig.subplots(2, 2, sharex=True, sharey=True)
- subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=None)[source]
-
Настроить параметры расположения подграфиков.
Параметры, значения которых не заданы, остаются без изменений; начальные значения задаются в
rcParams["figure.subplot.[name]"].(
Source code,2x.png,png)- Параметры:
-
- leftfloat, optional
-
Положение левого края подграфиков в долях ширины фигуры.
- rightfloat, optional
-
Положение правого края подграфиков в долях ширины фигуры.
- bottomfloat, optional
-
Положение нижнего края подграфиков в долях высоты фигуры.
- topfloat, optional
-
Положение верхнего края подграфиков в долях высоты фигуры.
- wspacefloat, optional
-
Ширина отступа между подграфиками в долях средней ширины области Axes.
- hspacefloat, optional
-
Высота отступа между подграфиками в долях средней высоты области Axes.
- suptitle(t, **kwargs)[source]
-
Добавить к фигуре общий заголовок, выровненный по центру.
- Параметры:
-
- tstr
-
Текст общего заголовка.
- xfloat, default: 0.5
-
Положение текста по оси x в координатах фигуры.
- yfloat, default: 0.98
-
Положение текста по оси y в координатах фигуры.
- horizontalalignment, ha{'center', 'left', 'right'}, default: center
-
Горизонтальное выравнивание текста относительно точки (x, y).
- verticalalignment, va{'top', 'center', 'bottom', 'baseline'}, default: top
-
Вертикальное выравнивание текста относительно точки (x, y).
-
fontsize, sizedefault:
rcParams["figure.titlesize"](default:'large') -
Размер шрифта текста. Возможные значения см. в
Text.set_size. -
fontweight, weightdefault:
rcParams["figure.titleweight"](default:'normal') -
Насыщенность шрифта текста. Возможные значения см. в
Text.set_weight.
- Возвращает:
-
- text
-
Экземпляр
Text, соответствующий общему заголовку.
- Другие параметры:
-
- fontpropertiesNone or dict, optional
-
Словарь свойств шрифта. Если задан fontproperties, значения размера и насыщенности шрифта по умолчанию берутся из значений по умолчанию
FontProperties. В этом случае значенияrcParams["figure.titlesize"](по умолчанию:'large') иrcParams["figure.titleweight"](по умолчанию:'normal') игнорируются. - **kwargs
-
Дополнительные именованные аргументы — это свойства
matplotlib.text.Text.
- supxlabel(t, **kwargs)[source]
-
Добавить к фигуре общую подпись оси x, выровненную по центру.
- Параметры:
-
- tstr
-
Текст общей подписи оси x.
- xfloat, default: 0.5
-
Положение текста по оси x в координатах фигуры.
- yfloat, default: 0.01
-
Положение текста по оси y в координатах фигуры.
- horizontalalignment, ha{'center', 'left', 'right'}, default: center
-
Горизонтальное выравнивание текста относительно точки (x, y).
- verticalalignment, va{'top', 'center', 'bottom', 'baseline'}, default: bottom
-
Вертикальное выравнивание текста относительно точки (x, y).
-
fontsize, sizedefault:
rcParams["figure.labelsize"](default:'large') -
Размер шрифта текста. Возможные значения см. в
Text.set_size. -
fontweight, weightdefault:
rcParams["figure.labelweight"](default:'normal') -
Насыщенность шрифта текста. Возможные значения см. в
Text.set_weight.
- Возвращает:
-
- text
-
Экземпляр
Text, соответствующий общей подписи оси x.
- Другие параметры:
-
- fontpropertiesNone or dict, optional
-
Словарь свойств шрифта. Если задан fontproperties, значения размера и насыщенности шрифта по умолчанию берутся из значений по умолчанию
FontProperties. В этом случае значенияrcParams["figure.labelsize"](по умолчанию:'large') иrcParams["figure.labelweight"](по умолчанию:'normal') игнорируются. - **kwargs
-
Дополнительные именованные аргументы — это свойства
matplotlib.text.Text.
- supylabel(t, **kwargs)[source]
-
Добавить к фигуре общую подпись оси y, выровненную по центру.
- Параметры:
-
- tstr
-
Текст общей подписи оси y.
- xfloat, default: 0.02
-
Положение текста по оси x в координатах фигуры.
- yfloat, default: 0.5
-
Положение текста по оси y в координатах фигуры.
- horizontalalignment, ha{'center', 'left', 'right'}, default: left
-
Горизонтальное выравнивание текста относительно точки (x, y).
- verticalalignment, va{'top', 'center', 'bottom', 'baseline'}, default: center
-
Вертикальное выравнивание текста относительно точки (x, y).
-
fontsize, sizedefault:
rcParams["figure.labelsize"](default:'large') -
Размер шрифта текста. Возможные значения см. в
Text.set_size. -
fontweight, weightdefault:
rcParams["figure.labelweight"](default:'normal') -
Насыщенность шрифта текста. Возможные значения см. в
Text.set_weight.
- Возвращает:
-
- text
-
Экземпляр
Text, соответствующий общей подписи оси y.
- Другие параметры:
-
- fontpropertiesNone or dict, optional
-
Словарь свойств шрифта. Если задан fontproperties, значения размера и насыщенности шрифта по умолчанию берутся из значений по умолчанию
FontProperties. В этом случае значенияrcParams["figure.labelsize"](по умолчанию:'large') иrcParams["figure.labelweight"](по умолчанию:'normal') игнорируются. - **kwargs
-
Дополнительные именованные аргументы — это свойства
matplotlib.text.Text.
- text(x, y, s, fontdict=None, **kwargs)[source]
-
Добавить текст к фигуре.
- Параметры:
-
- x, yfloat
-
Положение текста. По умолчанию используется система координат фигуры, где значения с плавающей точкой находятся в диапазоне [0, 1]. Систему координат можно изменить с помощью ключевого аргумента transform.
- sstr
-
Текстовая строка.
- fontdictdict, optional
-
Словарь для переопределения свойств текста по умолчанию. Если он не задан, значения по умолчанию определяются параметром
rcParams["font.*"]. Свойства, переданные в виде kwargs, переопределяют соответствующие свойства из fontdict.
- Возвращает:
-
Text
- Другие параметры:
-
-
**kwargsсвойства
Text -
Прочие параметры текста.
Свойство
Описание
функция фильтра, принимающая массив чисел с плавающей точкой размера (m, n, 3) и значение dpi и возвращающая массив размера (m, n, 3) и два смещения от нижнего левого угла изображения
float или None
bool
bool
словарь со свойствами для
patches.FancyBboxPatchнеизвестно
неизвестно
неизвестно
fontfamilyилиfamilyилиfontname{FONTNAME, 'serif', 'sans-serif', 'cursive', 'fantasy', 'monospace'}
fontpropertiesилиfontилиfont_propertiesfloat или {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}
fontstretchилиstretch{числовое значение в диапазоне 0–1000, 'ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded'}
{'normal', 'italic', 'oblique'}
fontvariantилиvariant{'normal', 'small-caps'}
fontweightилиweight{числовое значение в диапазоне 0–1000, 'ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi', 'bold', 'heavy', 'extra bold', 'black'}
str
{'left', 'center', 'right'}
bool
object
float (кратное размера шрифта)
str
bool
multialignmentилиma{'left', 'right', 'center'}
bool
список объектов
AbstractPathEffectNone, bool, float или вызываемый объект
(float, float)
bool
float или {'vertical', 'horizontal'}
{None, 'default', 'anchor'}
(scale: float, length: float, randomness: float)
bool или None
object
bool
str
bool, по умолчанию:
rcParams["text.usetex"](по умолчанию:False)verticalalignmentилиva{'baseline', 'bottom', 'center', 'center_baseline', 'top'}
bool
bool
float
float
float
-
**kwargsсвойства
См. также
Вспомогательные функции
- matplotlib.figure.figaspect(arg)[исходный код]
-
Вычисляет ширину и высоту фигуры с заданным соотношением сторон.
Высота берётся из
rcParams["figure.figsize"](по умолчанию:[6.4, 4.8]), а ширина подстраивается под требуемое соотношение сторон. Кроме того, ширина ограничивается диапазоном [4., 16.], а высота — диапазоном [2., 16.]. При необходимости высота по умолчанию корректируется, чтобы соблюсти эти ограничения.- Параметры:
-
- argвещественное число или двумерный массив
-
Если задано вещественное число, оно определяет соотношение сторон (то есть отношение высоты к ширине). Если задан массив, соотношение сторон равно числу строк, делённому на число столбцов, чтобы массив можно было вписать в фигуру без искажений.
- Возвращает:
-
- sizeмассив размера (2,)
-
Ширина и высота фигуры в дюймах.
Примечания
Если вы хотите создать Axes внутри фигуры, сохранив при этом соотношение сторон, обязательно задайте одинаковую ширину и высоту. См. примеры ниже.
Благодарим Fernando Perez за эту функцию.
Примеры
Создание фигуры, высота которой вдвое больше ширины:
w, h = figaspect(2.) fig = Figure(figsize=(w, h)) ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) ax.imshow(A, **kwargs)
Создание фигуры с соотношением сторон, соответствующим массиву:
A = rand(5, 3) w, h = figaspect(A) fig = Figure(figsize=(w, h)) ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) ax.imshow(A, **kwargs)
© 2012–2026 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/figure_api.html