matplotlib.legend
Модуль legend определяет класс Legend, который отвечает за отрисовку легенд, связанных с осями и/или фигурами.
Важно
Вероятно, вы никогда не будете создавать экземпляр Legend вручную. Большинство пользователей обычно создают легенду с помощью функции legend. Более подробную информацию о легендах можно найти в руководстве по легендам.
Класс Legend представляет собой контейнер для элементов легенды и текстов легенды.
Карта обработчиков легенд определяет, как создавать элементы легенды из элементов (линий, областей и т. д.) на осях или фигурах. По умолчанию обработчики легенд определены в модуле legend_handler. Хотя не все типы элементов поддерживаются обработчиками легенд по умолчанию, можно определить пользовательские обработчики легенд для поддержки произвольных объектов.
Дополнительную информацию см. в руководстве по легендам.
- classmatplotlib.legend.DraggableLegend(legend, use_blit=False, update='loc')[source]
-
Bases:
DraggableOffsetBoxОбёртка над
Legendдля поддержки перетаскивания мышью.- Параметры:
-
-
legend
Legend -
Экземпляр
Legend, который нужно обернуть. - use_blitbool, optional
-
Использовать кеширование для более быстрого отображения. Дополнительные сведения см. в FuncAnimation.
- update{'loc', 'bbox'}, optional
-
Если "loc", обновить параметр loc легенды после завершения. Если "bbox", обновить параметр bbox_to_anchor.
-
legend
- finalize_offset()[source]
- classmatplotlib.legend.Legend(parent, handles, labels, *, loc=None, numpoints=None, markerscale=None, markerfirst=True, scatterpoints=None, scatteryoffsets=None, prop=None, fontsize=None, labelcolor=None, borderpad=None, labelspacing=None, handlelength=None, handleheight=None, handletextpad=None, borderaxespad=None, columnspacing=None, ncols=1, mode=None, fancybox=None, shadow=None, title=None, title_fontsize=None, framealpha=None, edgecolor=None, facecolor=None, bbox_to_anchor=None, bbox_transform=None, frameon=None, handler_map=None, title_fontproperties=None, alignment='center', ncol=1)[source]
-
Bases:
ArtistРазмещает легенду на осях в указанном месте.
- Параметры:
-
-
parent
AxesилиFigure -
Элемент, содержащий легенду.
-
handlesсписок
Artist -
Список элементов (линии, области), которые нужно добавить в легенду.
- labelsсписок str
-
Список меток, которые нужно отобразить рядом с элементами. Длина списков handles и labels должна быть одинаковой. Если нет, они усекаются до меньшей длины.
-
parent
- Другие параметры:
-
-
locstr или пара чисел с плавающей точкой, по умолчанию:
rcParams["legend.loc"](по умолчанию:'best') ('best' для осей, 'верхний правый' для фигур) -
Расположение легенды.
Строки
'upper left', 'upper right', 'lower left', 'lower right'размещают легенду в соответствующем углу осей/фигуры.Строки
'upper center', 'lower center', 'center left', 'center right'размещают легенду в центре соответствующей стороны осей/фигуры.Строка
'center'размещает легенду в центре осей/фигуры.Строка
'best'размещает легенду в таком из девяти определённых мест, которое имеет минимальное перекрытие с другими отрисованными элементами. Этот вариант может быть довольно медленным для графиков с большим объёмом данных; ваша скорость построения графиков может увеличиться, если вы укажете конкретное расположение.Расположение также может быть 2-кортежем, содержащим координаты левого нижнего угла легенды в координатах осей (в этом случае bbox_to_anchor будет проигнорирован).
Для обратной совместимости,
'center right'(но не другие варианты расположения) также могут быть написаны как'right', и каждое расположение "строкой" также может быть задано числовым значением:Строковое обозначение расположения
Код расположения
'best'
0
'верхний правый'
1
'верхний левый'
2
'нижний левый'
3
'нижний правый'
4
'правый'
5
'центр слева'
6
'центр справа'
7
'нижний центр'
8
'верхний центр'
9
'центр'
10
-
bbox_to_anchor
BboxBase, 2-кортеж или 4-кортеж чисел с плавающей точкой -
Прямоугольник, используемый для позиционирования легенды совместно с loc. По умолчанию
axes.bbox(если вызывается как методAxes.legend) илиfigure.bbox(если вызываетсяFigure.legend). Этот параметр позволяет произвольно размещать легенду.Координаты прямоугольника интерпретируются в системе координат, заданной bbox_transform, по умолчанию это координаты осей или фигуры, в зависимости от того, какой
legendвызывается.Если задан 4-кортеж или
BboxBase, то он определяет прямоугольник(x, y, width, height)в который помещается легенда. Чтобы поместить легенду в лучшее место в нижнем правом квадранте осей (или фигуры):loc='best', bbox_to_anchor=(0.5, 0., 0.5, 0.5)
2-кортеж
(x, y)помещает угол легенды, указанный loc, в координаты x, y. Например, чтобы разместить верхний правый угол легенды в центре осей (или фигуры), можно использовать следующие ключи:loc='upper right', bbox_to_anchor=(0.5, 0.5)
- ncolsint, по умолчанию: 1
-
Количество столбцов в легенде.
Для обратной совместимости также поддерживается написание ncol, но это не рекомендуется. Если оба значения заданы, ncols имеет приоритет.
-
propNone или
matplotlib.font_manager.FontPropertiesили dict -
Свойства шрифта легенды. Если None (по умолчанию), будут использоваться текущие
matplotlib.rcParams. - fontsizeint или {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}
-
Размер шрифта легенды. Если значение является числом, размер будет абсолютным размером шрифта в пунктах. Строковые значения относительны к текущему размеру шрифта по умолчанию. Этот параметр используется только если prop не указан.
-
labelcolorstr или список, по умолчанию:
rcParams["legend.labelcolor"](по умолчанию:'None') -
Цвет текста в легенде. Это может быть строка, определяющая допустимый цвет (например, 'red'), или список таких строк. Цвет метки также можно сделать таким же, как цвет линии или маркера, используя 'linecolor', 'markerfacecolor' (или 'mfc'), или 'markeredgecolor' (или 'mec').
Цвет метки можно установить глобально с помощью
rcParams["legend.labelcolor"](по умолчанию:'None'). Если None, используетсяrcParams["text.color"](по умолчанию:'black'). -
numpointsint, по умолчанию:
rcParams["legend.numpoints"](по умолчанию:1) -
Количество точек маркера в легенде при создании записи легенды для
Line2D(линия). -
scatterpointsint, по умолчанию:
rcParams["legend.scatterpoints"](по умолчанию:1) -
Количество точек маркера в легенде при создании записи легенды для
PathCollection(диаграмма рассеяния). -
scatteryoffsetsитерируемый объект плавающей точки, по умолчанию:
[0.375, 0.5, 0.3125] -
Вертикальное смещение (относительно размера шрифта) для маркеров, созданных для записи легенды диаграммы рассеяния. 0,0 находится у основания текста легенды, а 1,0 — вверху. Чтобы отобразить все маркеры на одной высоте, установите значение
[0.5]. -
markerscalefloat, по умолчанию:
rcParams["legend.markerscale"](по умолчанию:1.0) -
Относительный размер маркеров легенды по сравнению с первоначально нарисованными.
- markerfirstbool, по умолчанию: True
-
Если True, маркер легенды размещается слева от метки легенды. Если False, маркер легенды размещается справа от метки легенды.
-
frameonbool, по умолчанию:
rcParams["legend.frameon"](по умолчанию:True) -
Определяет, должна ли легенда быть нарисована на области (рамке).
-
fancyboxbool, по умолчанию:
rcParams["legend.fancybox"](по умолчанию:True) -
Определяет, должны ли быть включены скругленные углы вокруг
FancyBboxPatch, которая образует фон легенды. -
shadowbool, по умолчанию:
rcParams["legend.shadow"](по умолчанию:False) -
Определяет, должна ли быть нарисована тень за легендой.
-
framealphafloat, по умолчанию:
rcParams["legend.framealpha"](по умолчанию:0.8) -
Альфа-прозрачность фона легенды. Если shadow включен и framealpha равно
None, значение по умолчанию будет проигнорировано. -
facecolor"inherit" или цвет, по умолчанию:
rcParams["legend.facecolor"](по умолчанию:'inherit') -
Цвет фона легенды. Если
"inherit", использоватьrcParams["axes.facecolor"](по умолчанию:'white'). -
edgecolor"inherit" или цвет, по умолчанию:
rcParams["legend.edgecolor"](по умолчанию:'0.8') -
Цвет границы области фона легенды. Если
"inherit", использоватьrcParams["axes.edgecolor"](по умолчанию:'black'). - mode{"expand", None}
-
Если mode установлен в
"expand", легенда будет горизонтально расширена, чтобы заполнить область осей (или bbox_to_anchor, если он определяет размер легенды). -
bbox_transformNone или
matplotlib.transforms.Transform -
Преобразование для прямоугольника (bbox_to_anchor). Для значения
None(по умолчанию) будет использоваться преобразование осейtransAxes. - titlestr или None
-
Заголовок легенды. По умолчанию заголовок отсутствует (
None). -
title_fontpropertiesNone или
matplotlib.font_manager.FontPropertiesили dict -
Свойства шрифта заголовка легенды. Если None (по умолчанию), будет использован параметр title_fontsize, если он присутствует; если title_fontsize также None, будет использован текущий
rcParams["legend.title_fontsize"](по умолчанию:None). -
title_fontsizeint или {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}, по умолчанию:
rcParams["legend.title_fontsize"](по умолчанию:None) -
Размер шрифта заголовка легенды. Примечание: это значение не может быть использовано совместно с title_fontproperties. Если вы хотите установить размер шрифта наряду с другими свойствами шрифта, используйте параметр size в title_fontproperties.
- alignment{'center', 'left', 'right'}, по умолчанию: 'center'
-
Выравнивание заголовка легенды и блока записей. Записи выравниваются как единый блок, так что маркеры всегда выровнены.
-
borderpadfloat, по умолчанию:
rcParams["legend.borderpad"](по умолчанию:0.4) -
Доля отступа внутри границы легенды, в единицах размера шрифта.
-
labelspacingfloat, по умолчанию:
rcParams["legend.labelspacing"](по умолчанию:0.5) -
Вертикальное расстояние между записями легенды, в единицах размера шрифта.
-
handlelengthfloat, по умолчанию:
rcParams["legend.handlelength"](по умолчанию:2.0)
-
locstr или пара чисел с плавающей точкой, по умолчанию:
-
-
Длина рукояток легенды в единицах размера шрифта.
-
handleheightfloat, default:
rcParams["legend.handleheight"](default:0.7) -
Высота рукояток легенды в единицах размера шрифта.
-
handletextpadfloat, default:
rcParams["legend.handletextpad"](default:0.8) -
Отступ между рукояткой легенды и текстом в единицах размера шрифта.
-
borderaxespadfloat, default:
rcParams["legend.borderaxespad"](default:0.5) -
Отступ между осью и границей легенды в единицах размера шрифта.
-
columnspacingfloat, default:
rcParams["legend.columnspacing"](default:2.0) -
Интервал между столбцами в единицах размера шрифта.
- handler_mapdict or None
-
Пользовательский словарь, сопоставляющий экземпляры или типы с обработчиком легенды. Этот handler_map обновляет стандартный словарь обработчиков по адресу
matplotlib.legend.Legend.get_legend_handler_map.
-
Примечания
Пользователи могут указать произвольную позицию легенды с помощью ключевого аргумента bbox_to_anchor. bbox_to_anchor может быть
BboxBase(или производной от него) или кортежем из 2 или 4 чисел с плавающей точкой. Более подробная информация приведена вset_bbox_to_anchor.Расположение легенды можно указать, задав loc с кортежем из 2 чисел с плавающей точкой, которое интерпретируется как левый нижний угол легенды в нормализованных координатах оси.
- codes={'best': 0, 'center': 10, 'center left': 6, 'center right': 7, 'lower center': 8, 'lower left': 3, 'lower right': 4, 'right': 5, 'upper center': 9, 'upper left': 2, 'upper right': 1}
- contains(event)[source]
-
Проверка, содержит ли элемент графический объект событие мыши.
- Параметры:
-
-
mouseevent
matplotlib.backend_bases.MouseEvent
-
mouseevent
- Возвращает:
-
- containsbool
-
Является ли значение внутри радиуса.
- detailsdict
-
Словарь, специфичный для элемента, содержащий подробности контекста события, такие как точки, которые находятся внутри радиуса выбора. Подробности см. в отдельных классах-подклассах Artist.
- draw(renderer)[source]
-
Отрисовка элемента (и его дочерних элементов) с помощью заданного рендерера.
Если элемент не видим (
Artist.get_visibleвозвращает False), это не имеет эффекта.- Параметры:
-
-
renderer
RendererBaseподкласс.
-
renderer
Примечания
Этот метод переопределяется в подклассах Artist.
- draw_frame(b)[source]
-
Устанавливает, будет ли отрисовываться рамка блока легенды.
- Параметры:
-
- bbool
- get_alignment()[source]
-
Получить значение выравнивания рамки легенды.
- get_bbox_to_anchor()[source]
-
Возвращает прямоугольник, к которому будет привязываться легенда.
- classmethodget_default_handler_map()[source]
-
Возвращает глобальный стандартный словарь обработчиков, используемый всеми легендами.
- get_draggable()[source]
-
Возвращает
True, если легенда перемещаема,False, в противном случае.
- get_frame()[source]
-
Возвращает
Rectangle, используемый для обрамления легенды.
- get_frame_on()[source]
-
Получить, отрисовывается ли рамка блока легенды.
- staticget_legend_handler(legend_handler_map, orig_handle)[source]
-
Возвращает обработчик легенды из legend_handler_map, соответствующий orig_handler.
legend_handler_map должен быть объектом словаря (который возвращается методом get_legend_handler_map).
Сначала проверяет, является ли orig_handle ключом в legend_handler_map и возвращает соответствующее значение. В противном случае проверяет каждый из классов в его порядке разрешения методов. Если подходящий ключ не найден, возвращает
None.
- get_legend_handler_map()[source]
-
Возвращает словарь обработчиков для этой легенды.
- get_lines()[source]
-
Возвращает список
Line2Dв легенде.
- get_patches()[source]
-
Возвращает список
Patchв легенде.
- get_texts()[source]
-
Возвращает список
Textв легенде.
- get_tightbbox(renderer=None)[source]
-
Аналогично
Artist.get_window_extent, но включает любые обрезки.- Параметры:
-
-
renderer
RendererBaseподкласс -
renderer, который будет использоваться для отрисовки графиков (т.е.
fig.canvas.get_renderer())
-
renderer
- Возвращает:
-
Bbox-
Охватывающая область (в пикселях координат фигуры).
- get_title()[source]
-
Возвращает экземпляр
Textдля заголовка легенды.
- get_window_extent(renderer=None)[source]
-
Получает область объекта-графического элемента в пространстве отображения.
Ширина и высота области имеют неотрицательные значения.
Подклассы должны переопределять для включения в вычисление "плотной" области. По умолчанию возвращается пустая область в 0, 0.
Будьте осторожны при использовании этой функции, результаты не будут обновляться, если область окна графического элемента изменится. Область может измениться из-за любых изменений в стеке преобразований, например, при изменении пределов осей, размера фигуры или холста (как при сохранении фигуры). Это может привести к неожиданному поведению, когда интерактивные фигуры будут выглядеть нормально на экране, но будут сохранены неправильно.
- set(*, agg_filter=<UNSET>, alignment=<UNSET>, alpha=<UNSET>, animated=<UNSET>, bbox_to_anchor=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, draggable=<UNSET>, frame_on=<UNSET>, gid=<UNSET>, in_layout=<UNSET>, label=<UNSET>, mouseover=<UNSET>, ncols=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, title=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[source]
-
Устанавливает несколько свойств одновременно.
Поддерживаемые свойства:
Свойство
Описание
функция фильтра, которая принимает массив float (m, n, 3) и значение dpi, и возвращает массив (m, n, 3) и два смещения от нижнего левого угла изображения
{'center', 'left', 'right'}.
скаляр или None
bool
BboxBaseили кортежbool
Фигура или (путь, преобразование) или None
bool
bool
str
bool
объект
bool
неизвестно
None или bool или float или вызываемый объект
bool
(масштаб: float, длина: float, случайность: float)
bool или None
str
str
bool
float
- set_alignment(alignment)[source]
-
Устанавливает выравнивание заголовка легенды и блока записей.
Записи выравниваются как единый блок, так что маркеры всегда выстраиваются в линию.
- Parameters:
-
- alignment{'center', 'left', 'right'}.
- set_bbox_to_anchor(bbox, transform=None)[source]
-
Установить область, к которой будет привязана легенда.
- Параметры:
-
-
bbox
BboxBaseили кортеж -
Прямоугольник может быть задан следующими способами:
- Объект
BboxBase - Кортеж из
(left, bottom, width, height)в заданном преобразовании (нормализованные координаты осей, если None) - Кортеж из
(left, bottom), где ширина и высота предполагаются равными нулю. - None, чтобы убрать привязку к области и использовать область родительского элемента.
- Объект
-
transform
Transform, необязательно -
Преобразование, применяемое к области. Если не указано, используется преобразование в область родительского элемента.
-
bbox
- classmethodset_default_handler_map(handler_map)[source]
-
Установить глобальную карту обработчиков, используемую всеми легендами.
- set_draggable(state, use_blit=False, update='loc')[source]
-
Включить или отключить поддержку перетаскивания легенды мышкой.
- Параметры:
-
- statebool
-
Включить или отключить перетаскивание мышкой.
- use_blitbool, необязательно
-
Использовать ускорение blitting для более быстрого отображения изображения. Подробнее см. FuncAnimation.
- update{'loc', 'bbox'}, необязательно
-
Параметр легенды, который будет меняться при перетаскивании:
- 'loc': обновить параметр loc легенды
- 'bbox': обновить параметр bbox_to_anchor легенды
- Возвращает:
-
-
DraggableLegendили None -
Если state
True, возвращает экземплярDraggableLegend. В противном случае возвращает None.
-
- set_frame_on(b)[source]
-
Установить, будет ли отображаться рамка легенды.
- Параметры:
-
- bbool
- set_ncols(ncols)[source]
-
Установить количество столбцов.
- set_title(title, prop=None)[source]
-
Установить заголовок легенды и его стиль.
- Параметры:
-
- titlestr
-
Заголовок легенды.
-
prop
font_manager.FontPropertiesилиstrилиpathlib.Path -
Свойства шрифта заголовка легенды. Если
str, интерпретируется как шаблон fontconfig, анализируемыйFontProperties. Еслиpathlib.Path, интерпретируется как абсолютный путь к файлу шрифта.
- classmethodupdate_default_handler_map(handler_map)[source]
-
Обновить глобальную карту обработчиков, используемую всеми легендами.
- zorder=5
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.6.0/api/legend_api.html