matplotlib.legend_handler
Обработчики легенды по умолчанию.
Важно
Это низкоуровневый API легенд, который большинству конечных пользователей не нужен.
Перед чтением этой документации рекомендуем ознакомиться с руководством по легендам.
Предполагается, что обработчики легенды — это вызываемые объекты со следующей сигнатурой:
legend_handler(legend, orig_handle, fontsize, handlebox)
Здесь legend — сама легенда, orig_handle — исходный графический объект, fontsize — размер шрифта в пикселях, а handlebox — экземпляр OffsetBox. Внутри вызова следует создать соответствующие графические объекты (используя подходящие свойства из legend и/или orig_handle) и добавить их в handlebox. При необходимости графические объекты должны масштабироваться в соответствии с fontsize (обратите внимание, что размер задаётся в пикселях, то есть это значение масштабировано с учётом dpi).
Этот модуль содержит определения нескольких классов обработчиков легенды, производных от базового класса (HandlerBase), со следующим методом:
def legend_artist(self, legend, orig_handle, fontsize, handlebox)
- classmatplotlib.legend_handler.HandlerBase(xpad=0.0, ypad=0.0, update_func=None)[исходный код]
-
Базовый класс обработчиков легенды по умолчанию.
Предполагается, что производные классы переопределяют метод create_artists, имеющий следующую сигнатуру:
def create_artists(self, legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans):Переопределённый метод должен создавать графические объекты с заданным преобразованием, которые помещаются в заданные размеры (xdescent, ydescent, width, height) и при необходимости масштабируются с учётом размера шрифта.
- Параметры:
-
- xpadfloat, необязательный
-
Отступ по оси x.
- ypadfloat, необязательный
-
Отступ по оси y.
- update_funcвызываемый объект, необязательный
-
Функция для обновления свойств обработчика легенды на основе другого обработчика легенды; используется методом
update_prop.
- adjust_drawing_area(legend, orig_handle, xdescent, ydescent, width, height, fontsize)[исходный код]
- create_artists(legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[исходный код]
-
Возвращает созданные графические объекты легенды.
- Параметры:
-
-
legend
Legend -
Легенда, для которой создаются эти графические объекты.
-
orig_handle
Artistили аналогичный объект -
Объект, для которого создаются эти графические объекты легенды.
- xdescent, ydescent, width, heightint
-
Прямоугольник (xdescent, ydescent, width, height), в который должны помещаться создаваемые графические объекты легенды.
- fontsizeint
-
Размер шрифта в пикселях. Создаваемые графические объекты легенды должны масштабироваться в соответствии с указанным размером шрифта.
-
trans
Transform -
Преобразование, применяемое к создаваемым графическим объектам легенды. Обычно это преобразование из единичных координат в блоке обработчика в экранные координаты.
-
legend
- legend_artist(legend, orig_handle, fontsize, handlebox)[исходный код]
-
Возвращает графический объект, который этот HandlerBase создаёт для указанного исходного графического объекта/дескриптора.
- Параметры:
-
-
legend
Legend -
Легенда, для которой создаются эти графические объекты.
-
orig_handle
matplotlib.artist.Artistили аналогичный объект -
Объект, для которого создаются эти графические объекты легенды.
- fontsizeint
-
Размер шрифта в пикселях. Создаваемые графические объекты должны масштабироваться в соответствии с указанным размером шрифта.
-
handlebox
OffsetBox -
Блок, созданный для графических объектов этой записи легенды. Графические объекты, созданные в методе
legend_artist, необходимо добавлять в этот блок в рамках данного метода.
-
legend
- update_prop(legend_handle, orig_handle, legend)[исходный код]
- classmatplotlib.legend_handler.HandlerCircleCollection(yoffsets=None, sizes=None, **kwargs)[исходный код]
-
Обработчик для объектов
CircleCollection.- Параметры:
-
- numpointsint
-
Количество точек, отображаемых в записи легенды.
- yoffsetsмассив чисел с плавающей точкой
-
Список длины numpoints со смещениями по y для каждой точки в записи легенды.
- **kwargs
-
Именованные аргументы, передаваемые в
HandlerNpoints.
- create_collection(orig_handle, sizes, offsets, offset_transform)[исходный код]
- classmatplotlib.legend_handler.HandlerErrorbar(xerr_size=0.5, yerr_size=None, marker_pad=0.3, numpoints=None, **kwargs)[исходный код]
-
Обработчик для планок погрешностей.
- Параметры:
-
- marker_padfloat
-
Интервал между точками в записи легенды.
- numpointsint
-
Количество точек, отображаемых в записи легенды.
- **kwargs
-
Именованные аргументы, передаваемые в
HandlerBase.
- create_artists(legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[исходный код]
-
Возвращает созданные графические объекты легенды.
- Параметры:
-
-
legend
Legend -
Легенда, для которой создаются эти графические объекты.
-
orig_handle
Artistили аналогичный объект -
Объект, для которого создаются эти графические объекты легенды.
- xdescent, ydescent, width, heightint
-
Прямоугольник (xdescent, ydescent, width, height), в который должны помещаться создаваемые графические объекты легенды.
- fontsizeint
-
Размер шрифта в пикселях. Создаваемые графические объекты легенды должны масштабироваться в соответствии с указанным размером шрифта.
-
trans
Transform -
Преобразование, применяемое к создаваемым графическим объектам легенды. Обычно это преобразование из единичных координат в блоке обработчика в экранные координаты.
-
legend
- get_err_size(legend, xdescent, ydescent, width, height, fontsize)[исходный код]
- classmatplotlib.legend_handler.HandlerLine2D(marker_pad=0.3, numpoints=None, **kwargs)[исходный код]
-
Обработчик для экземпляров
Line2D.См. также
HandlerLine2DCompound-
Предыдущая реализация обработчика, в которой для линии и маркера(-ов) использовались отдельные графические объекты.
- Параметры:
-
- marker_padfloat
-
Интервал между точками в записи легенды.
- numpointsint
-
Количество точек, отображаемых в записи легенды.
- **kwargs
-
Именованные аргументы, передаваемые в
HandlerBase.
- create_artists(legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[исходный код]
-
Возвращает созданные графические объекты легенды.
- Параметры:
-
-
legend
Legend -
Легенда, для которой создаются эти графические объекты.
-
orig_handle
Artistили аналогичный объект -
Объект, для которого создаются эти графические объекты легенды.
- xdescent, ydescent, width, heightint
-
Прямоугольник (xdescent, ydescent, width, height), в который должны помещаться создаваемые графические объекты легенды.
- fontsizeint
-
Размер шрифта в пикселях. Создаваемые графические объекты легенды должны масштабироваться в соответствии с указанным размером шрифта.
-
trans
Transform -
Преобразование, применяемое к создаваемым графическим объектам легенды. Обычно это преобразование из единичных координат в блоке обработчика в экранные координаты.
-
legend
- classmatplotlib.legend_handler.HandlerLine2DCompound(marker_pad=0.3, numpoints=None, **kwargs)[исходный код]
-
Исходный обработчик для экземпляров
Line2D, который объединяет графический объект только с линией и графический объект только с маркером. В будущем может быть объявлен устаревшим.- Параметры:
-
- marker_padfloat
-
Интервал между точками в записи легенды.
- numpointsint
-
Количество точек, отображаемых в записи легенды.
- **kwargs
-
Именованные аргументы, передаваемые в
HandlerBase.
- create_artists(legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[исходный код]
-
Возвращает созданные графические объекты легенды.
- Параметры:
-
-
legend
Legend -
Легенда, для которой создаются эти графические объекты.
-
orig_handle
Artistили аналогичный объект -
Объект, для которого создаются эти графические объекты легенды.
- xdescent, ydescent, width, heightint
-
Прямоугольник (xdescent, ydescent, width, height), в который должны помещаться создаваемые графические объекты легенды.
- fontsizeint
-
Размер шрифта в пикселях. Создаваемые графические объекты легенды должны масштабироваться в соответствии с указанным размером шрифта.
-
trans
Transform -
Преобразование, применяемое к создаваемым графическим объектам легенды. Обычно это преобразование из единичных координат в блоке обработчика в экранные координаты.
-
legend
- classmatplotlib.legend_handler.HandlerLineCollection(marker_pad=0.3, numpoints=None, **kwargs)[исходный код]
-
Обработчик для экземпляров
LineCollection.- Параметры:
-
- marker_padfloat
-
Интервал между точками в записи легенды.
- numpointsint
-
Количество точек, отображаемых в записи легенды.
- **kwargs
-
Именованные аргументы, передаваемые в
HandlerBase.
- create_artists(legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[исходный код]
-
Возвращает созданные графические объекты легенды.
- Параметры:
-
-
legend
Legend -
Легенда, для которой создаются эти графические объекты.
-
orig_handle
Artistили аналогичный объект -
Объект, для которого создаются эти графические объекты легенды.
- xdescent, ydescent, width, heightint
-
Прямоугольник (xdescent, ydescent, width, height), в который должны помещаться создаваемые графические объекты легенды.
- fontsizeint
-
Размер шрифта в пикселях. Создаваемые графические объекты легенды должны масштабироваться в соответствии с указанным размером шрифта.
-
trans
Transform -
Преобразование, применяемое к создаваемым графическим объектам легенды. Обычно это преобразование из единичных координат в блоке обработчика в экранные координаты.
-
legend
- get_numpoints(legend)[исходный код]
- classmatplotlib.legend_handler.HandlerNpoints(marker_pad=0.3, numpoints=None, **kwargs)[исходный код]
-
Обработчик легенды, отображающий numpoints точек в записи легенды.
- Параметры:
-
- marker_padfloat
-
Интервал между точками в записи легенды.
- numpointsint
-
Количество точек, отображаемых в записи легенды.
- **kwargs
-
Именованные аргументы, передаваемые в
HandlerBase.
- get_numpoints(legend)[исходный код]
- get_xdata(legend, xdescent, ydescent, width, height, fontsize)[исходный код]
- classmatplotlib.legend_handler.HandlerNpointsYoffsets(numpoints=None, yoffsets=None, **kwargs)[исходный код]
-
Обработчик легенды, отображающий в легенде numpoints точек и позволяющий по отдельности смещать их по оси y.
- Параметры:
-
- numpointsint
-
Количество точек, отображаемых в записи легенды.
- yoffsetsмассив вещественных чисел
-
Список смещений по y для каждой точки в записи легенды длиной numpoints.
- **kwargs
-
Именованные аргументы, передаваемые в
HandlerNpoints.
- get_ydata(legend, xdescent, ydescent, width, height, fontsize)[исходный код]
- classmatplotlib.legend_handler.HandlerPatch(patch_func=None, **kwargs)[исходный код]
-
Обработчик экземпляров
Patch.- Параметры:
-
- patch_funcвызываемый объект, необязательно
-
Функция, создающая графический объект ключа легенды. Сигнатура patch_func должна иметь следующий вид:
def patch_func(legend=legend, orig_handle=orig_handle, xdescent=xdescent, ydescent=ydescent, width=width, height=height, fontsize=fontsize)Затем у созданного графического объекта будет вызван метод
update_propи применено соответствующее преобразование. - **kwargs
-
Именованные аргументы, передаваемые в
HandlerBase.
- create_artists(legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[исходный код]
-
Возвращает созданные графические объекты легенды.
- Параметры:
-
-
legend
Legend -
Легенда, для которой создаются эти графические объекты.
-
orig_handle
Artistили аналогичный объект -
Объект, для которого создаются эти графические объекты легенды.
- xdescent, ydescent, width, heightint
-
Прямоугольник (xdescent, ydescent, width, height), в который должны вписываться создаваемые графические объекты легенды.
- fontsizeint
-
Размер шрифта в пикселях. Создаваемые графические объекты легенды должны масштабироваться с учетом заданного размера шрифта.
-
trans
Transform -
Преобразование, применяемое к создаваемым графическим объектам легенды. Обычно это преобразование из единичных координат в области обработчика в экранные координаты.
-
legend
- classmatplotlib.legend_handler.HandlerPathCollection(yoffsets=None, sizes=None, **kwargs)[исходный код]
-
Обработчик для
PathCollection, используемых функциейscatter.- Параметры:
-
- numpointsint
-
Количество точек, отображаемых в записи легенды.
- yoffsetsмассив вещественных чисел
-
Список смещений по y для каждой точки в записи легенды длиной numpoints.
- **kwargs
-
Именованные аргументы, передаваемые в
HandlerNpoints.
- create_collection(orig_handle, sizes, offsets, offset_transform)[исходный код]
- classmatplotlib.legend_handler.HandlerPolyCollection(xpad=0.0, ypad=0.0, update_func=None)[исходный код]
-
Обработчик для
PolyCollection, используемых вfill_betweenиstackplot.- Параметры:
-
- xpadfloat, необязательно
-
Отступ по оси x.
- ypadfloat, необязательно
-
Отступ по оси y.
- update_funcвызываемый объект, необязательно
-
Функция для обновления свойств обработчика легенды из другого обработчика легенды; используется методом
update_prop.
- create_artists(legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[исходный код]
-
Возвращает созданные графические объекты легенды.
- Параметры:
-
-
legend
Legend -
Легенда, для которой создаются эти графические объекты.
-
orig_handle
Artistили аналогичный объект -
Объект, для которого создаются эти графические объекты легенды.
- xdescent, ydescent, width, heightint
-
Прямоугольник (xdescent, ydescent, width, height), в который должны вписываться создаваемые графические объекты легенды.
- fontsizeint
-
Размер шрифта в пикселях. Создаваемые графические объекты легенды должны масштабироваться с учетом заданного размера шрифта.
-
trans
Transform -
Преобразование, применяемое к создаваемым графическим объектам легенды. Обычно это преобразование из единичных координат в области обработчика в экранные координаты.
-
legend
- classmatplotlib.legend_handler.HandlerRegularPolyCollection(yoffsets=None, sizes=None, **kwargs)[исходный код]
-
Обработчик для объектов
RegularPolyCollection.- Параметры:
-
- numpointsint
-
Количество точек, отображаемых в записи легенды.
- yoffsetsмассив вещественных чисел
-
Список смещений по y для каждой точки в записи легенды длиной numpoints.
- **kwargs
-
Именованные аргументы, передаваемые в
HandlerNpoints.
- create_artists(legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[исходный код]
-
Возвращает созданные графические объекты легенды.
- Параметры:
-
-
legend
Legend -
Легенда, для которой создаются эти графические объекты.
-
orig_handle
Artistили аналогичный объект -
Объект, для которого создаются эти графические объекты легенды.
- xdescent, ydescent, width, heightint
-
Прямоугольник (xdescent, ydescent, width, height), в который должны вписываться создаваемые графические объекты легенды.
- fontsizeint
-
Размер шрифта в пикселях. Создаваемые графические объекты легенды должны масштабироваться с учетом заданного размера шрифта.
-
trans
Transform -
Преобразование, применяемое к создаваемым графическим объектам легенды. Обычно это преобразование из единичных координат в области обработчика в экранные координаты.
-
legend
- create_collection(orig_handle, sizes, offsets, offset_transform)[исходный код]
- get_numpoints(legend)[исходный код]
- get_sizes(legend, orig_handle, xdescent, ydescent, width, height, fontsize)[исходный код]
- update_prop(legend_handle, orig_handle, legend)[исходный код]
- classmatplotlib.legend_handler.HandlerStem(marker_pad=0.3, numpoints=None, bottom=None, yoffsets=None, **kwargs)[исходный код]
-
Обработчик для графиков, созданных функцией
stem.- Параметры:
-
- marker_padfloat, значение по умолчанию: 0.3
-
Интервал между точками в записи легенды.
- numpointsint, необязательно
-
Количество точек, отображаемых в записи легенды.
- bottomfloat, необязательно
- yoffsetsмассив вещественных чисел, необязательно
-
Список смещений по y для каждой точки в записи легенды длиной numpoints.
- **kwargs
-
Именованные аргументы, передаваемые в
HandlerNpointsYoffsets.
- create_artists(legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[исходный код]
-
Возвращает созданные графические объекты легенды.
- Параметры:
-
-
legend
Legend -
Легенда, для которой создаются эти графические объекты.
-
orig_handle
Artistили аналогичный объект -
Объект, для которого создаются эти графические объекты легенды.
- xdescent, ydescent, width, heightint
-
Прямоугольник (xdescent, ydescent, width, height), в который должны вписываться создаваемые графические объекты легенды.
- fontsizeint
-
Размер шрифта в пикселях. Создаваемые графические объекты легенды должны масштабироваться с учетом заданного размера шрифта.
-
trans
Transform -
Преобразование, применяемое к создаваемым графическим объектам легенды. Обычно это преобразование из единичных координат в области обработчика в экранные координаты.
-
legend
- get_ydata(legend, xdescent, ydescent, width, height, fontsize)[исходный код]
- classmatplotlib.legend_handler.HandlerStepPatch(xpad=0.0, ypad=0.0, update_func=None)[исходный код]
-
Обработчик экземпляров
StepPatch.- Параметры:
-
- xpadfloat, необязательный
-
Отступ по оси x.
- ypadfloat, необязательный
-
Отступ по оси y.
- update_funcвызываемый объект, необязательный
-
Функция для обновления свойств обработчика легенды на основе другого обработчика легенды; используется в
update_prop.
- create_artists(legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[исходный код]
-
Возвращает созданные объекты легенды.
- Параметры:
-
-
legend
Legend -
Легенда, для которой создаются эти объекты.
-
orig_handle
Artistили аналогичный объект -
Объект, для которого создаются эти объекты легенды.
- xdescent, ydescent, width, heightint
-
Прямоугольник (xdescent, ydescent, width, height), в который должны вписываться создаваемые объекты легенды.
- fontsizeint
-
Размер шрифта в пикселях. Создаваемые объекты легенды должны масштабироваться в соответствии с указанным размером шрифта.
-
trans
Transform -
Преобразование, применяемое к создаваемым объектам легенды. Обычно это преобразование из единичных координат в области обработчика в экранные координаты.
-
legend
- classmatplotlib.legend_handler.HandlerTuple(ndivide=1, pad=None, **kwargs)[исходный код]
-
Обработчик кортежа.
- Параметры:
-
- ndivideint или None, по умолчанию: 1
-
Количество секций, на которые следует разделить область легенды. Если значение равно None, используется длина входного кортежа.
-
padfloat, по умолчанию:
rcParams["legend.borderpad"](значение по умолчанию:0.4) -
Отступ в долях размера шрифта.
- **kwargs
-
Именованные аргументы, передаваемые в
HandlerBase.
- create_artists(legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[исходный код]
-
Возвращает созданные объекты легенды.
- Параметры:
-
-
legend
Legend -
Легенда, для которой создаются эти объекты.
-
orig_handle
Artistили аналогичный объект -
Объект, для которого создаются эти объекты легенды.
- xdescent, ydescent, width, heightint
-
Прямоугольник (xdescent, ydescent, width, height), в который должны вписываться создаваемые объекты легенды.
- fontsizeint
-
Размер шрифта в пикселях. Создаваемые объекты легенды должны масштабироваться в соответствии с указанным размером шрифта.
-
trans
Transform -
Преобразование, применяемое к создаваемым объектам легенды. Обычно это преобразование из единичных координат в области обработчика в экранные координаты.
-
legend
- matplotlib.legend_handler.update_from_first_child(tgt, src)[исходный код]
© 2012–2026 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/legend_handler_api.html