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, width, height), при необходимости масштабируемые на основе размера шрифта.
-
adjust_drawing_area(self, legend, orig_handle, xdescent, ydescent, width, height, fontsize)[source]
-
create_artists(self, legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[source]
-
legend_artist(self, legend, orig_handle, fontsize, handlebox)[source] -
Возвращает объект, который этот HandlerBase генерирует для данного исходного объекта/обработчика.
Параметры: -
legendmatplotlib.legend.Legend instance -
Легенда, для которой создаются эти объекты легенды.
-
orig_handlematplotlib.artist.Artist or similar -
Объект, для которого создаются эти объекты легенды.
-
fontsizefloat or int -
Размер шрифта в пикселях. Создаваемые объекты должны быть масштабированы в соответствии с заданным размером шрифта.
-
handleboxmatplotlib.offsetbox.OffsetBox instance -
Фрейм, созданный для размещения объектов этой записи легенды. Объекты, созданные в методе
legend_artist, должны быть добавлены в этот handlebox внутри этого метода.
-
-
update_prop(self, legend_handle, orig_handle, legend)[source]
-
-
class matplotlib.legend_handler.HandlerCircleCollection(yoffsets=None, sizes=None, **kw)[source] -
Обработчик для
CircleCollections.Параметры: -
numpointsint -
Количество точек для отображения в записи легенды.
-
yoffsetsarray of floats -
Список длинной numpoints смещений по оси y для каждой точки в записи легенды.
Примечания
Любые другие ключевые аргументы передаются в
HandlerNpoints.-
create_collection(self, 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] -
Обработчик для Errorbars.
Параметры: -
marker_padfloat -
Отступ между точками в записи легенды.
-
numpointsint -
Количество точек для отображения в записи легенды.
Примечания
Любые другие ключевые аргументы передаются в
HandlerNpoints.-
create_artists(self, legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[source]
-
get_err_size(self, legend, xdescent, ydescent, width, height, fontsize)[source]
-
-
class matplotlib.legend_handler.HandlerLine2D(marker_pad=0.3, numpoints=None, **kw)[source] -
Обработчик для экземпляров
Line2D.Параметры: -
marker_padfloat -
Отступ между точками в записи легенды.
-
numpointsint -
Количество точек для отображения в записи легенды.
Примечания
Любые другие ключевые аргументы передаются в
HandlerNpoints.-
create_artists(self, legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[source]
-
-
class matplotlib.legend_handler.HandlerLineCollection(marker_pad=0.3, numpoints=None, **kw)[source] -
Обработчик для экземпляров
LineCollection.Параметры: -
marker_padfloat -
Отступ между точками в записи легенды.
-
numpointsint -
Количество точек для отображения в записи легенды.
Примечания
Любые другие ключевые аргументы передаются в
HandlerNpoints.-
create_artists(self, legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[source]
-
get_numpoints(self, legend)[source]
-
-
class matplotlib.legend_handler.HandlerNpoints(marker_pad=0.3, numpoints=None, **kw)[source] -
Обработчик легенды, который отображает numpoints точек в записи легенды.
Параметры: -
marker_padfloat -
Отступ между точками в записи легенды.
-
numpointsint -
Количество точек для отображения в записи легенды.
Примечания
Любые другие ключевые аргументы передаются в
HandlerBase.-
get_numpoints(self, legend)[source]
-
get_xdata(self, legend, xdescent, ydescent, width, height, fontsize)[source]
-
-
class matplotlib.legend_handler.HandlerNpointsYoffsets(numpoints=None, yoffsets=None, **kw)[source] -
Обработчик легенды, который отображает numpoints точек в легенде, и позволяет индивидуально смещать их по оси y.
Параметры: -
numpointsint -
Количество точек для отображения в записи легенды.
-
yoffsetsarray of floats -
Список длиной numpoints смещений по оси y для каждой точки в записи легенды.
Примечания
Любые другие ключевые аргументы передаются в
HandlerNpoints.-
get_ydata(self, legend, xdescent, ydescent, width, height, fontsize)[source]
-
-
class matplotlib.legend_handler.HandlerPatch(patch_func=None, **kw)[source] -
Обработчик для экземпляров
Patch.Параметры: -
patch_funccallable, optional -
Функция, которая создает элемент легенды. 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(self, legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[source]
-
-
class matplotlib.legend_handler.HandlerPathCollection(yoffsets=None, sizes=None, **kw)[source] -
Обработчик для
PathCollections, которые используются вscatter.Параметры: -
numpointsint -
Количество точек для отображения в записи легенды.
-
yoffsetsarray of floats -
Список длиной numpoints смещений по оси y для каждой точки в записи легенды.
Примечания
Любые другие ключевые аргументы передаются в
HandlerNpoints.-
create_collection(self, orig_handle, sizes, offsets, transOffset)[source]
-
-
class matplotlib.legend_handler.HandlerPolyCollection(xpad=0.0, ypad=0.0, update_func=None)[source] -
Обработчик для
PolyCollection, используемый вfill_betweenиstackplot.-
create_artists(self, legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[source]
-
-
class matplotlib.legend_handler.HandlerRegularPolyCollection(yoffsets=None, sizes=None, **kw)[source] -
Обработчик для
RegularPolyCollections.Параметры: -
numpointsint -
Количество точек для отображения в записи легенды.
-
yoffsetsarray of floats -
Список длиной numpoints смещений по оси y для каждой точки в записи легенды.
Примечания
Любые другие ключевые аргументы передаются в
HandlerNpoints.-
create_artists(self, legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[source]
-
create_collection(self, orig_handle, sizes, offsets, transOffset)[source]
-
get_numpoints(self, legend)[source]
-
get_sizes(self, legend, orig_handle, xdescent, ydescent, width, height, fontsize)[source]
-
update_prop(self, legend_handle, orig_handle, legend)[source]
-
-
class matplotlib.legend_handler.HandlerStem(marker_pad=0.3, numpoints=None, bottom=None, yoffsets=None, **kw)[source] -
Обработчик для графиков, созданных с помощью
stem.Параметры: -
marker_padfloat -
Отступ между точками в элементе легенды. По умолчанию 0,3.
-
numpointsint, optional -
Количество точек, отображаемых в элементе легенды.
-
bottomfloat, optional -
yoffsetsarray of floats, optional -
Список из numpoints значений смещений по оси y для каждой точки в элементе легенды.
Примечания
Любые другие ключевые аргументы передаются в
HandlerNpointsYoffsets.-
create_artists(self, legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[source]
-
get_ydata(self, legend, xdescent, ydescent, width, height, fontsize)[source]
-
-
class matplotlib.legend_handler.HandlerTuple(ndivide=1, pad=None, **kwargs)[source] -
Обработчик для кортежей.
Дополнительные ключевые аргументы передаются в
HandlerBase.Параметры: -
ndivideint, optional -
Количество секций для разделения области легенды. Если None, используется длина входного кортежа. По умолчанию 1.
-
padfloat, optional -
Если None, используется
legend.borderpadв качестве значения по умолчанию. В единицах доли размера шрифта. По умолчанию None.
-
create_artists(self, legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[source]
-
-
matplotlib.legend_handler.update_from_first_child(tgt, src)[source]
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.2.2/api/legend_handler_api.html