matplotlib.legend
Модуль legend определяет класс Legend, который отвечает за отрисовку легенд, связанных с осями и/или фигурами.
Важно
Вероятность того, что вы когда-либо создадите экземпляр Legend вручную, крайне низка. Большинство пользователей обычно создают легенду с помощью функции legend. Более подробная информация о легендах также содержится в руководстве по легендам.
Класс Legend представляет собой контейнер для элементов управления легенды и текстов легенды.
Карта обработчиков легенды определяет, как создавать элементы легенды из графических объектов (линий, областей и т. д.) на осях или в фигурах. По умолчанию обработчики легенды определены в модуле legend_handler. Хотя не все типы графических объектов поддерживаются стандартными обработчиками легенды, можно определить пользовательские обработчики для поддержки произвольных объектов.
Дополнительную информацию см. в :ref`<legend_guide>`.
- classmatplotlib.legend.DraggableLegend(legend, use_blit=False, update='loc')[source]
-
Bases:
DraggableOffsetBoxОбёртка вокруг
Legendдля поддержки перетаскивания мышью.- Parameters:
-
-
legend
Legend -
Экземпляр
Legend, который нужно обернуть. - use_blitbool, optional
-
Использовать blitting для ускорения композиции изображения. Подробнее см. 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, reverse=False, scatterpoints=None, scatteryoffsets=None, prop=None, fontsize=None, labelcolor=None, ...)[source]
-
Bases:
ArtistРазмещение легенды на фигуре/осях.
- Parameters:
-
-
parent
AxesилиFigure -
Объект, содержащий легенду.
-
handlesсписок (
Artistили кортеж изArtist) -
Список графических объектов (линии, области) для добавления в легенду.
- labelsсписок str
-
Список меток, которые нужно отобразить рядом с графическими объектами. Длина списков handles и labels должна быть одинаковой. Если это не так, они усекаются до длины меньшего списка.
-
parent
- Attributes:
-
- legend_handles
-
Список объектов
Artist, добавленных как элементы легенды.Добавлен в версии 3.7.
-
-
locstr или пара чисел с плавающей запятой, по умолчанию:
rcParams["legend.loc"](по умолчанию:'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
Если рисунок использует менеджер ограниченной компоновки, строковые коды аргумента loc могут обеспечить лучшее поведение компоновки с префиксом 'outside'. Возможна двусмысленность в углах, поэтому 'outside верхний правый' создаст место для легенды над остальными осями в компоновке, а 'outside правый верхний' создаст место справа в компоновке. Помимо значений loc, перечисленных выше, у нас есть 'outside правый верхний', 'outside правый нижний', 'outside левый верхний' и 'outside левый нижний'. Подробнее см. Руководство по легендам.
-
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)
- ncolsцелое число, по умолчанию: 1
-
Количество столбцов в легенде.
Для обратной совместимости поддерживается написание ncol, но оно не рекомендуется. Если оба значения заданы, ncols имеет приоритет.
-
propNone или
FontPropertiesили словарь -
Свойства шрифта легенды. Если None (по умолчанию), будут использоваться текущие
matplotlib.rcParams. - fontsizeцелое число или {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}
-
Размер шрифта легенды. Если значение числовое, размер будет абсолютным размером шрифта в пунктах. Строковые значения относительны к текущему размеру шрифта по умолчанию. Этот аргумент используется только если prop не указан.
-
labelcolorстрока или список, по умолчанию:
rcParams["legend.labelcolor"](по умолчанию:'None') -
Цвет текста в легенде. Допустимая строка цвета (например, 'red'), или список строк цвета. Цвет метки также можно сделать совпадающим с цветом линии или маркера, используя 'linecolor', 'markerfacecolor' (или 'mfc'), или 'markeredgecolor' (или 'mec').
Цвет метки можно установить глобально, используя
rcParams["legend.labelcolor"](по умолчанию:'None'). Если None, используйтеrcParams["text.color"](по умолчанию:'black'). -
numpointsцелое число, по умолчанию:
rcParams["legend.numpoints"](по умолчанию:1) -
Количество точек маркера в легенде при создании записи легенды для
Line2D(линии). -
scatterpointsцелое число, по умолчанию:
rcParams["legend.scatterpoints"](по умолчанию:1) -
Количество точек маркера в легенде при создании записи легенды для
PathCollection(графика рассеяния). -
scatteryoffsetsитерируемый набор чисел с плавающей запятой, по умолчанию:
[0.375, 0.5, 0.3125] -
Вертикальное смещение (относительно размера шрифта) для маркеров, созданных для записи легенды графика рассеяния. 0.0 находится у основания текста легенды, а 1.0 — вверху. Чтобы отобразить все маркеры на одной высоте, установите значение
[0.5]. -
markerscaleвещественное число, по умолчанию:
rcParams["legend.markerscale"](по умолчанию:1.0) -
Относительный размер маркеров легенды по сравнению с первоначально нарисованными.
- markerfirstbool, по умолчанию: True
-
Если True, маркер легенды размещается слева от метки легенды. Если False, маркер легенды размещается справа от метки легенды.
- reversebool, по умолчанию: False
-
Если True, метки легенды отображаются в обратном порядке от входных данных. Если False, метки легенды отображаются в том же порядке, что и входные данные.
Добавлена в версии 3.7.
-
frameonbool, по умолчанию:
rcParams["legend.frameon"](по умолчанию:True) -
Определяет, должна ли легенда быть нарисована на области (рамке).
-
fancyboxbool, по умолчанию:
rcParams["legend.fancybox"](по умолчанию:True) -
Определяет, должны ли быть включены закругленные углы вокруг
FancyBboxPatch, которая образует фон легенды. -
shadowNone, bool или словарь, по умолчанию:
rcParams["legend.shadow"](по умолчанию:False) -
Определяет, должен ли быть нарисован оттенок за легендой. Оттенок может быть настроен с помощью ключевых слов
Patch. Настройка с помощьюrcParams["legend.shadow"](по умолчанию:False) -
framealphaвещественное число, по умолчанию:
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 или
Transform -
Преобразование для прямоугольника (bbox_to_anchor). Для значения
None(по умолчанию) будет использоваться преобразование осейtransAxes. - titleстрока или None
-
Заголовок легенды. По умолчанию заголовок отсутствует (
None).
-
locstr или пара чисел с плавающей запятой, по умолчанию:
-
-
title_fontpropertiesNone или
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) -
Длина маркеров легенды, в единицах размера шрифта.
-
handleheightfloat, по умолчанию:
rcParams["legend.handleheight"](по умолчанию:0.7) -
Высота маркеров легенды, в единицах размера шрифта.
-
handletextpadfloat, по умолчанию:
rcParams["legend.handletextpad"](по умолчанию:0.8) -
Отступ между маркером и текстом в легенде, в единицах размера шрифта.
-
borderaxespadfloat, по умолчанию:
rcParams["legend.borderaxespad"](по умолчанию:0.5) -
Отступ между осями и рамкой легенды, в единицах размера шрифта.
-
columnspacingfloat, по умолчанию:
rcParams["legend.columnspacing"](по умолчанию:2.0) -
Отступ между колонками, в единицах размера шрифта.
- handler_mapdict или None
-
Пользовательский словарь, отображающий экземпляры или типы на обработчик легенды. Этот handler_map обновляет стандартный словарь обработчиков, найденный в
matplotlib.legend.Legend.get_legend_handler_map. - draggablebool, по умолчанию: False
-
Можно ли перетаскивать легенду мышью.
-
title_fontpropertiesNone или
- 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(mouseevent)[source]
-
Проверка, содержит ли элемент событие мыши.
- Parameters:
-
-
mouseevent
MouseEvent
-
mouseevent
- Returns:
-
- containsbool
-
Является ли любая точка в радиусе.
- detailsdict
-
Словарь, специфичный для элемента, содержащий подробности контекста события, такие как точки, находящиеся в радиусе выбора. Смотрите подробности в подклассах отдельных элементов.
- draw(renderer)[source]
-
Отрисовка элемента (и его дочерних элементов) с помощью указанного рендерера.
Это не имеет эффекта, если элемент не видим (
Artist.get_visibleвозвращает False).- Parameters:
-
-
renderer
RendererBaseподкласс.
-
renderer
Примечания
Этот метод переопределён в подклассах элементов.
- draw_frame(b)[source]
-
Установить, отображается ли рамка легенды.
- get_alignment()[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подкласс, необязательно -
рендерер, который будет использоваться для отрисовки графиков (т.е.
fig.canvas.get_renderer())
-
renderer
- Возвращает:
-
-
Bboxили None -
Вложенная ограничивающая рамка (в пикселях координат изображения). Возвращает None, если обрезка не приводит к пересечению.
-
- 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>, loc=<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]
-
Устанавливает сразу несколько свойств.
Поддерживаемые свойства:
Свойство
Описание
функция фильтра, которая принимает массив чисел с плавающей точкой (m, n, 3) и значение dpi, и возвращает массив (m, n, 3) и два смещения от нижнего левого угла изображения
{'center', 'left', 'right'}.
скаляр или None
bool
BboxBaseили кортежBboxBaseили Nonebool
Объект Patch или (Path, Transform) или None
bool
bool
строка
bool
объект
строка или пара чисел с плавающей точкой, по умолчанию:
rcParams["legend.loc"](значение по умолчанию:'best') для Axes, 'верхний правый' для Figurebool
неизвестно
список
AbstractPathEffectNone или bool или число с плавающей точкой или вызываемый объект
bool
(масштаб: float, длина: float, случайность: float)
bool или None
строка
строка
bool
число с плавающей точкой
- set_alignment(alignment)[source]
-
Устанавливает выравнивание заголовка легенды и блока записей.
Записи выравниваются как единый блок, поэтому маркеры всегда выровнены.
- Параметры:
-
- 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, необязательно
-
Использовать буферизацию для более быстрого составления изображений. Подробнее см. FuncAnimation.
- update{'loc', 'bbox'}, необязательно
-
Параметр легенды, который будет изменён при перетаскивании:
- 'loc': обновить параметр loc легенды
- 'bbox': обновить параметр bbox_to_anchor легенды
- Возвращает:
-
-
DraggableLegendили None -
Если state имеет значение
True, возвращается экземпляр помощникаDraggableLegend. В противном случае возвращается None.
-
- set_frame_on(b)[source]
-
Установить, нужно ли рисовать прямоугольную рамку легенды.
- Параметры:
-
- bbool
- set_loc(loc=None)[source]
-
Установить расположение легенды.
Добавлен в версии 3.8.
- Параметры:
-
-
locстрока или пара чисел, по умолчанию:
rcParams["legend.loc"](по умолчанию:'best') для Axes, 'верхний правый' для Figure -
Расположение легенды.
Строки
'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
Если фигура использует менеджер ограничений макета, строковые коды аргумента loc могут обеспечить лучшую компоновку с использованием префикса 'outside'. Возникает неоднозначность в углах, поэтому 'outside верхний правый' создаст пространство для легенды над остальными осями в макете, а 'outside правый верхний' — пространство справа от макета. В дополнение к значениям loc, перечисленным выше, у нас есть 'outside правый верхний', 'outside правый нижний', 'outside левый верхний' и 'outside левый нижний'. См. Руководство по легендам для получения дополнительной информации.
-
locстрока или пара чисел, по умолчанию:
- set_ncols(ncols)[source]
-
Установить количество столбцов.
- set_title(title, prop=None)[source]
-
Установить заголовок легенды и стиль заголовка.
- Параметры:
-
- titleстрока
-
Заголовок легенды.
-
prop
font_manager.FontPropertiesилиstrилиpathlib.Path -
Свойства шрифта заголовка легенды. Если строка, она интерпретируется как шаблон fontconfig, анализируемый
FontProperties. Если путь, он интерпретируется как абсолютный путь к файлу шрифта.
- 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/stable/api/legend_api.html