Spec-Zone.ru › Matplotlib

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

Figure

Контейнер верхнего уровня для всех элементов графика.

Добавление объектов Axes и подфигур

Figure.add_axes

Добавить объект Axes в фигуру.

Figure.add_subplot

Добавить объект Axes в фигуру как часть расположения подграфиков.

Figure.subplots

Добавить набор подграфиков в эту фигуру.

Figure.subplot_mosaic

Создать расположение объектов Axes на основе ASCII-графики или вложенных списков.

Figure.add_gridspec

Низкоуровневый API для создания GridSpec, родительским объектом которого является эта фигура.

Figure.get_axes

Список объектов Axes в фигуре.

Figure.axes

Список объектов Axes в фигуре.

Figure.delaxes

Удалить объект Axes ax из фигуры; обновить текущий объект Axes.

Figure.subfigures

Добавить набор подфигур в эту фигуру или подфигуру.

Figure.add_subfigure

Добавить объект SubFigure в фигуру как часть расположения подграфиков.

Сохранение

Figure.savefig

Сохранить текущую фигуру в файл как изображение или векторную графику.

Аннотирование

Figure.colorbar

Добавить цветовую шкалу к графику.

Figure.legend

Разместить легенду на фигуре.

Figure.text

Добавить текст в фигуру.

Figure.suptitle

Добавить в фигуру общий заголовок по центру.

Figure.get_suptitle

Вернуть общий заголовок в виде строки или пустую строку, если он не задан.

Figure.supxlabel

Добавить в фигуру общую подпись оси X по центру.

Figure.get_supxlabel

Вернуть общую подпись оси X в виде строки или пустую строку, если она не задана.

Figure.supylabel

Добавить в фигуру общую подпись оси Y по центру.

Figure.get_supylabel

Вернуть общую подпись оси Y в виде строки или пустую строку, если она не задана.

Figure.align_labels

Выровнять подписи осей X и Y подграфиков в одной строке или одном столбце соответственно, если выравнивание подписей выполняется автоматически (то есть положение подписи не задано вручную).

Figure.align_xlabels

Выровнять подписи оси X подграфиков в одной строке, если выравнивание подписей выполняется автоматически (то есть положение подписи не задано вручную).

Figure.align_ylabels

Выровнять подписи оси Y подграфиков в одном столбце, если выравнивание подписей выполняется автоматически (то есть положение подписи не задано вручную).

Figure.align_titles

Выровнять заголовки подграфиков в одной строке, если выравнивание заголовков выполняется автоматически (то есть положение заголовка не задано вручную).

Figure.autofmt_xdate

Подписи делений дат часто перекрываются, поэтому полезно повернуть их и выровнять по правому краю.

Геометрия фигуры

Figure.set_size_inches

Задать размер фигуры в дюймах.

Figure.get_size_inches

Вернуть текущий размер фигуры в дюймах.

Figure.set_figheight

Задать высоту фигуры в дюймах.

Figure.get_figheight

Вернуть высоту фигуры в дюймах.

Figure.set_figwidth

Задать ширину фигуры в дюймах.

Figure.get_figwidth

Вернуть ширину фигуры в дюймах.

Figure.dpi

Разрешение в точках на дюйм.

Figure.set_dpi

Задать разрешение фигуры в точках на дюйм.

Figure.get_dpi

Вернуть разрешение в точках на дюйм в виде числа с плавающей точкой.

Расположение подграфиков

Figure.subplots_adjust

Настроить параметры расположения подграфиков.

Figure.set_layout_engine

Задать механизм компоновки для этой фигуры.

Figure.get_layout_engine

Не рекомендуется или устарело

Figure.tight_layout

Настроить отступы между подграфиками и вокруг них.

Figure.set_tight_layout

[Устарело] Задать, вызывается ли Figure.tight_layout при отрисовке и каким образом.

Figure.get_tight_layout

Вернуть информацию о том, вызывается ли Figure.tight_layout при отрисовке.

Figure.set_constrained_layout

[Устарело] Задать, используется ли constrained_layout при отрисовке.

Figure.get_constrained_layout

Вернуть информацию о том, используется ли компоновка с ограничениями.

Figure.set_constrained_layout_pads

[Устарело] Задать отступы для constrained_layout.

Figure.get_constrained_layout_pads

[Устарело] Получить отступы для constrained_layout.

Интерактивное взаимодействие

См. также

  • Обработка событий и выбор объектов

Figure.ginput

Блокирующий вызов для взаимодействия с фигурой.

Figure.add_axobserver

При каждом изменении состояния объектов Axes будет вызываться func(self).

Figure.waitforbuttonpress

Блокирующий вызов для взаимодействия с фигурой.

Figure.pick

Обработать событие выбора объекта.

Изменение внешнего вида

Figure.set_frameon

Задать видимость фоновой области фигуры, то есть определить, будет ли отрисовываться фон фигуры.

Figure.get_frameon

Вернуть видимость фоновой области фигуры, то есть информацию о том, будет ли отрисовываться фон фигуры.

Figure.set_linewidth

Задать толщину линии прямоугольника Figure.

Figure.get_linewidth

Получить толщину линии прямоугольника Figure.

Figure.set_facecolor

Задать цвет заливки прямоугольника Figure.

Figure.get_facecolor

Получить цвет заливки прямоугольника Figure.

Figure.set_edgecolor

Задать цвет границы прямоугольника Figure.

Figure.get_edgecolor

Получить цвет границы прямоугольника Figure.

Добавление и получение объектов Artist

Figure.add_artist

Добавить объект Artist в фигуру.

Figure.get_children

Получить список объектов Artist, содержащихся в фигуре.

Figure.figimage

Добавить в фигуру изображение без повторной дискретизации.

Получение и изменение состояния

См. также

  • Интерактивные фигуры

Figure.clear

Очистить фигуру.

Figure.gca

Получить текущий объект Axes.

Figure.sca

Сделать a текущим объектом Axes и вернуть a.

Figure.get_tightbbox

Вернуть (плотную) ограничивающую рамку фигуры в дюймах.

Figure.get_window_extent

Получить ограничивающую рамку объекта Artist в пространстве отображения.

Figure.show

При использовании графического бэкенда с pyplot отобразить окно фигуры.

Figure.set_canvas

Задать холст, содержащий фигуру

Figure.draw

Отрисовать объект Artist (и его дочерние объекты) с помощью указанного средства визуализации.

Figure.draw_without_rendering

Отрисовать фигуру без вывода результата.

Figure.draw_artist

Отрисовать только объект Artist a.

SubFigure

В Matplotlib есть понятие SubFigure — логической фигуры внутри родительской Figure. У неё есть многие из тех же методов, что и у родительской фигуры. См. раздел Вложенные макеты Axes.

(Source code, 2x.png, png)

Класс SubFigure

SubFigure

Логическая фигура, которую можно разместить внутри фигуры.

Добавление Axes и SubFigure

SubFigure.add_axes

Добавить Axes к фигуре.

SubFigure.add_subplot

Добавить Axes к фигуре как часть компоновки подграфиков.

SubFigure.subplots

Добавить к этой фигуре набор подграфиков.

SubFigure.subplot_mosaic

Создать компоновку Axes на основе ASCII-графики или вложенных списков.

SubFigure.add_gridspec

Низкоуровневый API для создания GridSpec, родительской фигурой которой является эта фигура.

SubFigure.delaxes

Удалить Axes ax из фигуры; обновить текущую Axes.

SubFigure.add_subfigure

Добавить SubFigure к фигуре как часть компоновки подграфиков.

SubFigure.subfigures

Добавить набор подфигур к этой фигуре или подфигуре.

Аннотирование

SubFigure.colorbar

Добавить цветовую шкалу к графику.

SubFigure.legend

Разместить легенду на фигуре.

SubFigure.text

Добавить текст к фигуре.

SubFigure.suptitle

Добавить к фигуре общий заголовок по центру.

SubFigure.get_suptitle

Вернуть общий заголовок в виде строки или пустую строку, если он не задан.

SubFigure.supxlabel

Добавить к фигуре общую подпись оси x по центру.

SubFigure.get_supxlabel

Вернуть общую подпись оси x в виде строки или пустую строку, если она не задана.

SubFigure.supylabel

Добавить к фигуре общую подпись оси y по центру.

SubFigure.get_supylabel

Вернуть общую подпись оси y в виде строки или пустую строку, если она не задана.

SubFigure.align_labels

Выровнять подписи осей x и y подграфиков в одной строке или одном столбце подграфиков (соответственно), если выравнивание подписей выполняется автоматически (то есть положение подписи не задано вручную).

SubFigure.align_xlabels

Выровнять подписи осей x подграфиков в одной строке, если выравнивание подписей выполняется автоматически (то есть положение подписи не задано вручную).

SubFigure.align_ylabels

Выровнять подписи осей y подграфиков в одном столбце, если выравнивание подписей выполняется автоматически (то есть положение подписи не задано вручную).

SubFigure.align_titles

Выровнять заголовки подграфиков в одной строке, если выравнивание заголовков выполняется автоматически (то есть положение заголовка не задано вручную).

Добавление и получение объектов Artist

SubFigure.add_artist

Добавить Artist к фигуре.

SubFigure.get_children

Получить список объектов Artist, содержащихся в фигуре.

Изменение внешнего вида

SubFigure.set_frameon

Задать видимость фоновой заливки фигуры, то есть определить, будет ли отрисовываться фон фигуры.

SubFigure.get_frameon

Вернуть видимость фоновой заливки фигуры, то есть определить, будет ли отрисовываться фон фигуры.

SubFigure.set_linewidth

Задать ширину линии прямоугольника Figure.

SubFigure.get_linewidth

Получить ширину линии прямоугольника Figure.

SubFigure.set_facecolor

Задать цвет заливки прямоугольника Figure.

SubFigure.get_facecolor

Получить цвет заливки прямоугольника Figure.

SubFigure.set_edgecolor

Задать цвет границы прямоугольника Figure.

SubFigure.get_edgecolor

Получить цвет границы прямоугольника Figure.

Методы-переадресации

SubFigure.set_dpi

Задать разрешение родительской фигуры в точках на дюйм.

SubFigure.get_dpi

Вернуть разрешение родительской фигуры в точках на дюйм в виде числа с плавающей точкой.

Базовый класс FigureBase

classmatplotlib.figure.FigureBase(**kwargs)[исходный код]

Базовый класс для Figure и SubFigure, содержащий методы для добавления художников на рисунок или вложенный рисунок, создания Axes и т. д.

add_artist(artist, clip=False)[исходный код]

Добавляет Artist на рисунок.

Обычно художники добавляются к объектам Axes с помощью Axes.add_artist; этот метод можно использовать в редких случаях, когда художников требуется добавлять непосредственно на рисунок.

Параметры:
artistArtist

Художник, добавляемый на рисунок. Если у добавленного художника ранее не была задана трансформация, ему будет назначена трансформация figure.transSubfigure.

clipbool, по умолчанию: False

Следует ли обрезать добавленного художника по границе рисунка.

Возвращает:
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, shareyAxes, необязательный

Общий x- или y-axis с sharex и/или sharey. Ось будет иметь те же пределы, деления и масштаб, что и ось общей системы Axes.

labelstr

Метка для возвращаемого объекта Axes.

Возвращает:
Axes или подкласс Axes

Класс возвращаемого объекта Axes зависит от используемой проекции. При использовании прямолинейной проекции это Axes, а при использовании полярной проекции — projections.polar.PolarAxes.

Другие параметры:
**kwargs

Этот метод также принимает именованные аргументы для возвращаемого класса Axes. Именованные аргументы для прямолинейного класса Axes Axes приведены в следующей таблице, но при использовании другой проекции могут быть доступны и другие именованные аргументы; см. соответствующий класс Axes.

Свойство

Описание

adjustable

{'box', 'datalim'}

agg_filter

функция фильтра, принимающая массив float размера (m, n, 3) и значение dpi и возвращающая массив (m, n, 3) и два смещения от нижнего левого угла изображения

alpha

float или None

anchor

(float, float) или {'C', 'SW', 'S', 'SE', 'E', 'NE', ...}

animated

bool

aspect

{'auto', 'equal'} или float

autoscale_on

bool

autoscalex_on

неизвестно

autoscaley_on

неизвестно

axes_locator

Callable[[Axes, Renderer], Bbox]

axisbelow

bool или 'line'

box_aspect

float или None

clip_box

BboxBase или None

clip_on

bool

clip_path

Patch или (Path, Transform) или None

facecolor или fc

цвет

figure

Figure или SubFigure

forward_navigation_events

bool или "auto"

frame_on

bool

gid

str

in_layout

bool

label

object

mouseover

bool

navigate

bool

navigate_mode

неизвестно

path_effects

список объектов AbstractPathEffect

picker

None, bool, float или вызываемый объект

position

[left, bottom, width, height] или Bbox

prop_cycle

Cycler

rasterization_zorder

float или None

rasterized

bool

sketch_params

(scale: float, length: float, randomness: float)

snap

bool или None

subplotspec

неизвестно

title

str

transform

Transform

url

str

visible

bool

xbound

(lower: float, upper: float)

xlabel

str

xlim

(left: float, right: float)

xmargin

float больше -0.5

xscale

неизвестно

xticklabels

неизвестно

xticks

неизвестно

ybound

(lower: float, upper: float)

ylabel

str

ylim

(bottom: float, top: float)

ymargin

float больше -0.5

yscale

неизвестно

yticklabels

неизвестно

yticks

неизвестно

zorder

float

См. также

Figure.add_subplot
pyplot.subplot
pyplot.axes
Figure.subplots
pyplot.subplots

Примечания

В редких случаях 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.

См. также

matplotlib.pyplot.subplots

Примеры

Добавление подграфика, охватывающего две строки:

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 на рисунок как часть компоновки подграфиков.

Параметры:
subplotspecgridspec.SubplotSpec

Задаёт область в родительском gridspec, в которой будет размещён вложенный рисунок.

Возвращает:
SubFigure
Другие параметры:
**kwargs

Передаются объекту SubFigure.

См. также

Figure.subfigures
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 этого рисунка.

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, shareyAxes, необязательный

Общий axis X или Y задаётся с помощью sharex и/или sharey. У оси будут те же пределы, деления и масштаб, что и у оси общего Axes.

labelstr

Метка для возвращаемого Axes.

Возвращает:
Axes

Axes подграфика. Возвращаемый Axes может быть экземпляром подкласса, например projections.polar.PolarAxes для полярных проекций.

Другие параметры:
**kwargs

Этот метод также принимает именованные аргументы базового класса Axes, который возвращается; за исключением аргумента figure. Именованные аргументы для базового класса прямоугольных координат Axes приведены в таблице ниже, однако при использовании другой проекции могут быть доступны и другие именованные аргументы.

Свойство

Описание

adjustable

{'box', 'datalim'}

agg_filter

функция фильтрации, принимающая массив float формы (m, n, 3) и значение dpi и возвращающая массив формы (m, n, 3) и два смещения от нижнего левого угла изображения

alpha

float или None

anchor

(float, float) или {'C', 'SW', 'S', 'SE', 'E', 'NE', ...}

animated

bool

aspect

{'auto', 'equal'} или float

autoscale_on

bool

autoscalex_on

неизвестно

autoscaley_on

неизвестно

axes_locator

Callable[[Axes, Renderer], Bbox]

axisbelow

bool или 'line'

box_aspect

float или None

clip_box

BboxBase или None

clip_on

bool

clip_path

Patch или (Path, Transform) или None

facecolor или fc

цвет

figure

Figure или SubFigure

forward_navigation_events

bool или "auto"

frame_on

bool

gid

str

in_layout

bool

label

object

mouseover

bool

navigate

bool

navigate_mode

неизвестно

path_effects

список объектов AbstractPathEffect

picker

None, bool, float или callable

position

[left, bottom, width, height] или Bbox

prop_cycle

Cycler

rasterization_zorder

float или None

rasterized

bool

sketch_params

(scale: float, length: float, randomness: float)

snap

bool или None

subplotspec

неизвестно

title

str

transform

Transform

url

str

visible

bool

xbound

(lower: float, upper: float)

xlabel

str

xlim

(left: float, right: float)

xmargin

float больше -0.5

xscale

неизвестно

xticklabels

неизвестно

xticks

неизвестно

ybound

(lower: float, upper: float)

ylabel

str

ylim

(bottom: float, top: float)

ymargin

float больше -0.5

yscale

неизвестно

yticklabels

неизвестно

yticks

неизвестно

zorder

float

См. также

Figure.add_axes
pyplot.subplot
pyplot.axes
Figure.subplots
pyplot.subplots

Примеры

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 подграфиков в одной строке или одном столбце подграфиков соответственно, если выравнивание подписей выполняется автоматически (то есть положение подписи не задано вручную).

После вызова выравнивание сохраняется при последующих событиях отрисовки.

Параметры:
axsсписок объектов Axes

Необязательный список (или ndarray) объектов Axes, подписи которых нужно выровнять. По умолчанию выравниваются все Axes рисунка.

См. также

matplotlib.figure.Figure.align_xlabels
matplotlib.figure.Figure.align_ylabels
matplotlib.figure.Figure.align_titles

Примечания

Предполагается, что все Axes в axs принадлежат одному и тому же GridSpec, поэтому их положения SubplotSpec соответствуют положениям на рисунке.

align_titles(axs=None)[source]

Выравнивает заголовки подграфиков в одной строке подграфиков, если выравнивание заголовков выполняется автоматически (то есть положение заголовка не задано вручную).

После вызова выравнивание сохраняется при последующих событиях отрисовки.

Параметры:
axsсписок объектов Axes

Необязательный список (или ndarray) объектов Axes, заголовки которых нужно выровнять. По умолчанию выравниваются все Axes рисунка.

См. также

matplotlib.figure.Figure.align_xlabels
matplotlib.figure.Figure.align_ylabels
matplotlib.figure.Figure.align_labels

Примечания

Предполагается, что все 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 в той же самой верхней строке.

Параметры:
axsсписок объектов Axes

Необязательный список (или ndarray) объектов Axes, подписи оси X которых нужно выровнять. По умолчанию выравниваются все Axes рисунка.

См. также

matplotlib.figure.Figure.align_ylabels
matplotlib.figure.Figure.align_titles
matplotlib.figure.Figure.align_labels

Примечания

Предполагается, что все 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, имеющих тот же крайний правый столбец.

Параметры:
axsсписок Axes

Необязательный список (или ndarray) объектов Axes, для которых нужно выровнять подписи оси y. По умолчанию выравниваются все Axes на рисунке.

См. также

matplotlib.figure.Figure.align_xlabels
matplotlib.figure.Figure.align_titles
matplotlib.figure.Figure.align_labels

Примечания

Предполагается, что все 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)
caxAxes, необязательный

Объект Axes, в котором будет нарисована цветовая шкала. Если None, создаётся новый Axes, а пространство для него выделяется за счёт Axes, указанных в ax.

axAxes, итерируемый объект или numpy.ndarray из Axes, необязательный

Одна или несколько родительских осей Axes, за счёт которых будет выделено пространство для нового Axes цветовой шкалы. Этот параметр используется только в том случае, если cax не задан.

По умолчанию используется Axes, содержащий mappable, с помощью которого создана цветовая шкала.

use_gridspecbool, необязательный

Если cax — None, новый cax создаётся как экземпляр Axes. Если для ax задан subplotspec и use_gridspec равен True, то для cax также задаётся subplotspec.

Возвращает:
colorbarColorbar
Другие параметры:
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)[исходный код]

Удалить Axes ax с рисунка; обновить текущий Axes.

draw(renderer)[исходный код]

Отрисовать Artist и его дочерние элементы с помощью указанного средства отрисовки.

Ничего не делает, если объект Artist невидим (метод Artist.get_visible возвращает False).

Параметры:
rendererподкласс RendererBase.

Примечания

Этот метод переопределяется в подклассах 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.

Возвращает:
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, если нужен полный контроль над тем, что отображается в легенде, и описанного выше автоматического механизма недостаточно.

Возвращает:
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_anchorBboxBase, кортеж из 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

Можно ли перетаскивать легенду мышью.

См. также

Axes.legend

Примечания

Некоторые художники не поддерживаются этой функцией. Подробности см. в руководстве по легендам.

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>)[исходный код]

Задать несколько свойств одновременно.

Поддерживаются следующие свойства:

Свойство

Описание

agg_filter

функция фильтра, принимающая массив float формы (m, n, 3) и значение dpi и возвращающая массив формы (m, n, 3) и два смещения от нижнего левого угла изображения

alpha

float или None

animated

bool

clip_box

BboxBase или None

clip_on

bool

clip_path

Patch или (Path, Transform) или None

edgecolor

цвет

facecolor

цвет

figure

неизвестно

frameon

bool

gid

str

in_layout

bool

label

object

linewidth

число

mouseover

bool

path_effects

список AbstractPathEffect

picker

None, bool, float или вызываемый объект

rasterized

bool

sketch_params

(scale: float, length: float, randomness: float)

snap

bool или None

transform

Transform

url

str

visible

bool

zorder

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 (см. выше).

См. также

pyplot.subplots
Figure.add_subplot
pyplot.subplot

Примеры

# 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

Прочие параметры текста.

Свойство

Описание

agg_filter

функция фильтра, принимающая массив чисел с плавающей точкой размера (m, n, 3) и значение dpi и возвращающая массив размера (m, n, 3) и два смещения от нижнего левого угла изображения

alpha

float или None

animated

bool

antialiased

bool

backgroundcolor

цвет

bbox

словарь со свойствами для patches.FancyBboxPatch

clip_box

неизвестно

clip_on

неизвестно

clip_path

неизвестно

color или c

цвет

figure

Figure или SubFigure

fontfamily или family или fontname

{FONTNAME, 'serif', 'sans-serif', 'cursive', 'fantasy', 'monospace'}

fontproperties или font или font_properties

font_manager.FontProperties или str или pathlib.Path

fontsize или size

float или {'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'}

fontstyle или style

{'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'}

gid

str

horizontalalignment или ha

{'left', 'center', 'right'}

in_layout

bool

label

object

linespacing

float (кратное размера шрифта)

math_fontfamily

str

mouseover

bool

multialignment или ma

{'left', 'right', 'center'}

parse_math

bool

path_effects

список объектов AbstractPathEffect

picker

None, bool, float или вызываемый объект

position

(float, float)

rasterized

bool

rotation

float или {'vertical', 'horizontal'}

rotation_mode

{None, 'default', 'anchor'}

sketch_params

(scale: float, length: float, randomness: float)

snap

bool или None

text

object

transform

Transform

transform_rotates_text

bool

url

str

usetex

bool, по умолчанию: rcParams["text.usetex"] (по умолчанию: False)

verticalalignment или va

{'baseline', 'bottom', 'center', 'center_baseline', 'top'}

visible

bool

wrap

bool

x

float

y

float

zorder

float

См. также

Axes.text
pyplot.text

Вспомогательные функции

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API