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