matplotlib.layout_engine
Классы для выравнивания элементов в Figure.
Фигуры имеют свойство layout_engine, которое хранит подкласс LayoutEngine, определённого здесь (или None для отсутствия выравнивания). Во время отрисовки вызывается figure.get_layout_engine().execute(), цель которого обычно состоит в переупорядочении осей на фигуре для создания приятной компоновки. Это похоже на draw обратный вызов, но с двумя отличиями. Во-первых, при печати мы отключаем механизм выравнивания для окончательной отрисовки. Во-вторых, полезно знать механизм выравнивания во время создания фигуры. В частности, цветные шкалы создаются по-разному с различными механизмами выравнивания (по историческим причинам).
Matplotlib предоставляет два механизма выравнивания, TightLayoutEngine и ConstrainedLayoutEngine. Третьи стороны могут создавать собственные механизмы выравнивания, наследуясь от LayoutEngine.
- classmatplotlib.layout_engine.ConstrainedLayoutEngine(*, h_pad=None, w_pad=None, hspace=None, wspace=None, rect=(0, 0, 1, 1), compress=False, **kwargs)[source]
-
Реализует управление геометрией
constrained_layout. Подробности см. в руководстве по ограниченному выравниванию.Инициализирует настройки
constrained_layout.- Параметры:
-
- h_pad, w_padfloat
-
Отступы вокруг элементов осей в дюймах. По умолчанию
rcParams["figure.constrained_layout.h_pad"](по умолчанию:0.04167) иrcParams["figure.constrained_layout.w_pad"](по умолчанию:0.04167). - hspace, wspacefloat
-
Доля фигуры, выделяемая для пространства между осями. Они равномерно распределяются между промежутками между осями. Значение 0,2 для трёхстолбцовой компоновки имело бы промежуток 0,1 ширины фигуры между каждым столбцом. Если h/wspace < h/w_pad, то используются отступы. По умолчанию
rcParams["figure.constrained_layout.hspace"](по умолчанию:0.02) иrcParams["figure.constrained_layout.wspace"](по умолчанию:0.02). - rectкортеж из 4 чисел с плавающей точкой
-
Прямоугольник в координатах фигуры, в котором выполняется ограниченное выравнивание (левый, нижний, ширина, высота), каждое от 0 до 1.
- compressbool
-
Необходимо ли сдвигать оси, чтобы удалить пустое пространство между ними. Это полезно для простых сетчатых диаграмм с осями фиксированного аспекта (например, сетка изображений). См. Сетки осей с фиксированным соотношением сторон: «сжатая» компоновка.
- propertyadjust_compatible
-
Возвращает булево значение, если механизм выравнивания совместим с
subplots_adjust.
- propertycolorbar_gridspec
-
Возвращает булево значение, если механизм выравнивания создаёт цветные шкалы с помощью gridspec.
- execute(fig)[source]
-
Выполняет constrained_layout и перемещает и изменяет размеры осей соответственно.
- Параметры:
-
-
fig
Figureдля выполнения выравнивания.
-
fig
- get()[source]
-
Возвращает копию параметров для механизма выравнивания.
- set(*, h_pad=None, w_pad=None, hspace=None, wspace=None, rect=None)[source]
-
Устанавливает отступы для constrained_layout.
- Параметры:
-
- h_pad, w_padfloat
-
Отступы вокруг элементов осей в дюймах. По умолчанию
rcParams["figure.constrained_layout.h_pad"](по умолчанию:0.04167) иrcParams["figure.constrained_layout.w_pad"](по умолчанию:0.04167). - hspace, wspacefloat
-
Доля фигуры, выделяемая для пространства между осями. Они равномерно распределяются между промежутками между осями. Значение 0,2 для трёхстолбцовой компоновки имело бы промежуток 0,1 ширины фигуры между каждым столбцом. Если h/wspace < h/w_pad, то используются отступы. По умолчанию
rcParams["figure.constrained_layout.hspace"](по умолчанию:0.02) иrcParams["figure.constrained_layout.wspace"](по умолчанию:0.02). - rectкортеж из 4 чисел с плавающей точкой
-
Прямоугольник в координатах фигуры, в котором выполняется ограниченное выравнивание (левый, нижний, ширина, высота), каждое от 0 до 1.
- classmatplotlib.layout_engine.LayoutEngine(**kwargs)[source]
-
Базовый класс для движков макета Matplotlib.
Движок макета можно передать в фигуру при создании или в любое время с помощью
set_layout_engine. После подключения к фигуре движок макетаexecuteвызывается во время отрисовкиdraw, обеспечивая специальный хук во время отрисовки.Примечание
Однако обратите внимание, что движки макета влияют на создание цветовых панелей, поэтому
set_layout_engineследует вызывать до создания любых цветовых панелей.В настоящее время существуют две особенности классов
LayoutEngine, которые используются при работе с фигурой:-
-
engine.colorbar_gridspecсообщаетFigure.colorbar, нужно ли создавать -
оси с помощью метода gridspec (см.
colorbar.make_axes_gridspec) или нет (см.colorbar.make_axes);
-
-
-
engine.adjust_compatibleпредотвращает запускFigure.subplots_adjust, если он не совместим с движком макета.
-
Для реализации пользовательского
LayoutEngine:- переопределите
_adjust_compatibleи_colorbar_gridspec - переопределите
LayoutEngine.setдля обновления self._params - переопределите
LayoutEngine.executeс вашей реализацией
- propertyadjust_compatible
-
Возвращает булево значение, если движок макета совместим с
subplots_adjust.
- propertycolorbar_gridspec
-
Возвращает булево значение, если движок макета создаёт цветовые панели с использованием gridspec.
- execute(fig)[source]
-
Выполняет макет на заданной фигуре fig.
- get()[source]
-
Возвращает копию параметров для движка макета.
- set(**kwargs)[source]
-
Устанавливает параметры для движка макета.
-
- classmatplotlib.layout_engine.PlaceHolderLayoutEngine(adjust_compatible, colorbar_gridspec, **kwargs)[source]
-
Этот движок макета вообще не изменяет макет фигуры.
Цель этого
LayoutEngineзаключается в том, чтобы служить местодержателем, когда пользователь удаляет движок макета, чтобы убедиться, что несовместимыйLayoutEngineне может быть установлен позже.- Parameters:
-
- adjust_compatible, colorbar_gridspecbool
-
Разрешить PlaceHolderLayoutEngine отражать поведение того движка макета, который он замещает.
- propertyadjust_compatible
-
Возвращает булево значение, если движок макета совместим с
subplots_adjust.
- propertycolorbar_gridspec
-
Возвращает булево значение, если движок макета создаёт цветовые панели с использованием gridspec.
- execute(fig)[source]
-
Не делает ничего.
- get()[source]
-
Возвращает копию параметров для движка макета.
- set(**kwargs)[source]
-
Устанавливает параметры для движка макета.
- classmatplotlib.layout_engine.TightLayoutEngine(*, pad=1.08, h_pad=None, w_pad=None, rect=(0, 0, 1, 1), **kwargs)[source]
-
Реализует управление геометрией
tight_layout. Подробности см. в Руководстве по тугому макетированию.Инициализирует движок tight_layout.
- Параметры:
-
- padfloat, по умолчанию: 1.08
-
Отступ между краем фигуры и краями подграфиков, как доля размера шрифта.
- h_pad, w_padfloat
-
Отступ (высота/ширина) между краями смежных подграфиков. По умолчанию равен pad.
- rectкортеж (слева, снизу, справа, сверху), по умолчанию: (0, 0, 1, 1).
-
Прямоугольник в нормализованных координатах фигуры, в который будут помещены подграфики (включая метки).
- propertyadjust_compatible
-
Возвращает булево значение, если движок макета совместим с
subplots_adjust.
- propertycolorbar_gridspec
-
Возвращает булево значение, если движок макета создает цветовые шкалы с использованием gridspec.
- execute(fig)[source]
-
Выполнить tight_layout.
Определяет параметры подграфиков, учитывая отступы, которые позволят меткам осей не накладываться друг на друга и на оси.
- Параметры:
-
-
fig
Figureдля выполнения макета.
-
fig
- get()[source]
-
Возвращает копию параметров для движка макета.
- set(*, pad=None, w_pad=None, h_pad=None, rect=None)[source]
-
Установить отступы для tight_layout.
- Параметры:
-
- padfloat
-
Отступ между краем фигуры и краями подграфиков, как доля размера шрифта.
- w_pad, h_padfloat
-
Отступ (ширина/высота) между краями смежных подграфиков. По умолчанию равен pad.
- rectкортеж (слева, снизу, справа, сверху)
-
Прямоугольник в нормализованных координатах фигуры, в который будут помещены подграфики (включая метки).
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.8.4/api/layout_engine_api.html