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