matplotlib.legend
Модуль legend определяет класс Legend, который отвечает за отрисовку легенд, связанных с осями и/или фигурами.
Важно
Вероятность того, что вам потребуется создать экземпляр Legend вручную, крайне низка. Большинство пользователей обычно создают легенду с помощью функции legend. Для получения более подробной информации о легендах также доступно руководство по легендам.
Класс Legend является контейнером для элементов легенды и текстов легенды.
Карта обработчиков легенды определяет, как создавать элементы легенды из объектов графики (линии, области и т.д.) на осях или фигурах. По умолчанию обработчики легенды определяются в модуле legend_handler. Хотя не все типы объектов графики поддерживаются стандартными обработчиками легенды, можно определить пользовательские обработчики легенды для поддержки произвольных объектов.
См. руководство по легендам для получения дополнительной информации.
- class
matplotlib.legend.DraggableLegend(legend, use_blit=False, update='loc')[source] -
Базовый класс:
matplotlib.offsetbox.DraggableOffsetBoxОбёртка вокруг
Legendдля поддержки перетаскивания мышью.Параметры: -
legend
Legend -
Экземпляр
Legendдля обёртки. - use_blitbool, optional
-
Использовать блиттинг для более быстрого составления изображения. Подробнее см. FuncAnimation.
- update{'loc', 'bbox'}, optional
-
Если "loc", обновить параметр loc легенды после завершения. Если "bbox", обновить параметр bbox_to_anchor.
-
finalize_offset()[source]
-
legend
- class
matplotlib.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, ncol=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)[source] -
Базовый класс:
matplotlib.artist.ArtistРазмещает легенду на осях в заданном месте loc.
Параметры: -
parent
AxesилиFigure -
Объект, содержащий легенду.
-
handlesсписок
Artist -
Список графических объектов (линии, области), добавляемых в легенду.
- labelsсписок str
-
Список меток, отображаемых рядом с графическими объектами. Длина списков handles и labels должна быть одинаковой. В противном случае они усекаются до меньшей длины.
-
parent
Другие параметры: -
locстрока или пара чисел с плавающей точкой, по умолчанию:
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', и каждое расположение "строки" также может быть задано численно:Строка расположения Код расположения 'лучшее' 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, с преобразованием по умолчанию Axes или Figure координаты, в зависимости от того, какой
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)
- ncolцелое число, по умолчанию: 1
-
Количество столбцов в легенде.
-
propNone или
matplotlib.font_manager.FontPropertiesили словарь -
Свойства шрифта легенды. Если None (по умолчанию), будут использоваться текущие
matplotlib.rcParams. - fontsizeцелое число или {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}
-
Размер шрифта легенды. Если значение является числовым, размер будет абсолютным размером шрифта в пунктах. Строковые значения относительны к текущему размеру шрифта по умолчанию. Этот параметр используется только если prop не задан.
- labelcolorстрока или список
-
Цвет текста в легенде. Может быть строкой допустимого цвета (например, 'red'), или списком строк цвета. Цвет метки также может быть настроен для соответствия цвету линии или маркера, используя 'linecolor', 'markerfacecolor' (или 'mfc'), или 'markeredgecolor' (или 'mec').
-
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) -
Относительный размер маркеров легенды по сравнению с первоначально нарисованными.
- markerfirstбулево значение, по умолчанию: True
-
Если True, маркер легенды помещается слева от метки легенды. Если False, маркер легенды помещается справа от метки легенды.
-
frameonбулево значение, по умолчанию:
rcParams["legend.frameon"](по умолчанию:True) -
Определяет, должна ли легенда быть нарисована на области (рамке).
-
fancyboxбулево значение, по умолчанию:
rcParams["legend.fancybox"](по умолчанию:True) -
Определяет, должны ли быть активированы закругленные углы вокруг
FancyBboxPatch, которые образуют фон легенды. -
shadowбулево значение, по умолчанию:
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 или
matplotlib.transforms.Transform -
Преобразование для прямоугольника (bbox_to_anchor). При значении
None(по умолчанию) используется преобразование осейtransAxes. - titleстрока или None
-
Заголовок легенды. По умолчанию заголовок отсутствует (
None). -
title_fontsizeцелое число или {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}, по умолчанию:
rcParams["legend.title_fontsize"](по умолчанию:None) -
Размер шрифта заголовка легенды.
-
borderpadчисло с плавающей точкой, по умолчанию:
rcParams["legend.borderpad"](по умолчанию:0.4) -
Отступы внутри рамки легенды в единицах размера шрифта.
-
labelspacingчисло с плавающей точкой, по умолчанию:
rcParams["legend.labelspacing"](по умолчанию:0.5) -
Вертикальное расстояние между записями легенды в единицах размера шрифта.
-
handlelengthчисло с плавающей точкой, по умолчанию:
rcParams["legend.handlelength"](по умолчанию:2.0) -
Длина символов легенды в единицах размера шрифта.
-
handletextpadчисло с плавающей точкой, по умолчанию:
rcParams["legend.handletextpad"](по умолчанию:0.8) -
Отступ между символом легенды и текстом в единицах размера шрифта.
-
borderaxespadчисло с плавающей точкой, по умолчанию:
rcParams["legend.borderaxespad"](по умолчанию:0.5) -
Отступ между осями и рамкой легенды в единицах размера шрифта.
-
columnspacingчисло с плавающей точкой, по умолчанию:
rcParams["legend.columnspacing"](по умолчанию:2.0) -
Расстояние между столбцами в единицах размера шрифта.
- handler_mapсловарь или None
-
Пользовательский словарь, отображающий экземпляры или типы на обработчик легенды. Этот handler_map обновляет словарь обработчиков по умолчанию, найденный в
matplotlib.legend.Legend.get_legend_handler_map.
Примечания
-
locстрока или пара чисел с плавающей точкой, по умолчанию:
Пользователи могут указать любое произвольное расположение легенды с помощью ключевого аргумента bbox_to_anchor. bbox_to_anchor может быть
BboxBase(или производным от него) или кортежем из 2 или 4 чисел с плавающей точкой. Более подробную информацию см. вset_bbox_to_anchor.Расположение легенды можно указать, задав loc кортежем из 2 чисел с плавающей точкой, которое интерпретируется как левая нижняя точка легенды в нормированных координатах оси.
-
codes= {'лучшее': 0, 'центр': 10, 'центр слева': 6, 'центр справа': 7, 'внизу по центру': 8, 'внизу слева': 3, 'внизу справа': 4, 'справа': 5, 'вверху по центру': 9, 'вверху слева': 2, 'вверху справа': 1}
-
contains(event)[source] -
Проверка, содержит ли элемент графический объект событие мыши.
Параметры: -
mouseevent
matplotlib.backend_bases.MouseEvent
Возвращает: - containsbool
-
Является ли какое-либо значение в радиусе.
- detailsdict
-
Словарь, специфичный для элемента графического объекта, содержащий подробности контекста события, такие как точки, содержащиеся в радиусе выбора. Подробности см. в соответствующих подклассах элементов графического объекта.
-
mouseevent
-
draw(renderer)[source] -
Отрисовка графического объекта (и его дочерних элементов) с помощью заданного рендерера.
Это не имеет эффекта, если графический объект не виден (
Artist.get_visibleвозвращает False).Параметры: -
renderer
RendererBaseподкласс.
Примечания
Этот метод переопределен в подклассах графического объекта.
-
renderer
-
draw_frame(b) -
Установить, будет ли отображаться рамка легенды.
Параметры: - bbool
-
get_bbox_to_anchor()[source] -
Возвращает область, к которой будет привязана легенда.
-
get_children()[source] -
Возвращает список дочерних элементов
Artistэтого графического объектаArtist.
- classmethod
get_default_handler_map()[source] -
Метод класса, который возвращает отображение по умолчанию для обработчиков.
-
get_draggable()[source] -
Возвращает
True, если легенда может быть перемещена,Falseв противном случае.
-
get_frame()[source] -
Возвращает
Rectangle, используемый для оформления легенды.
-
get_frame_on()[source] -
Получить, будет ли отображаться рамка легенды.
- static
get_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)[source] -
Аналогично
Legend.get_window_extent, но использует область для легенды.Параметры: -
renderer
RendererBaseподкласс -
рендерер, который будет использоваться для отрисовки фигур (т.е.
fig.canvas.get_renderer())
Возвращает: BboxBase-
Область в пиксельных координатах фигуры.
-
renderer
-
-
get_title()[source] -
Возвращает экземпляр
Textдля заголовка легенды.
-
get_window_extent(renderer=None)[source] -
Получить область отображения оси.
Ширина и высота области отображения неотрицательны.
Подклассы должны переопределять для включения в вычисление области отображения "tight". По умолчанию возвращается пустая область отображения в точке (0, 0).
Будьте внимательны при использовании этой функции, результаты не обновятся, если область отображения элемента изменяется. Область отображения может измениться из-за любых изменений в стеке преобразований, например, изменения пределов осей, размера фигуры или используемого холста (как это делается при сохранении фигуры). Это может привести к неожиданному поведению, где интерактивные фигуры будут выглядеть хорошо на экране, но будут сохранены неправильно.
-
set_bbox_to_anchor(bbox, transform=None)[source] -
Устанавливает область отображения, к которой будет привязана легенда.
Параметры: -
bbox
BboxBaseили кортеж -
Область отображения может быть задана следующими способами:
- Экземпляр
BboxBase - Кортеж из
(left, bottom, width, height)в заданном преобразовании (нормализованные координаты осей, если None) - Кортеж из
(left, bottom), где предполагается, что ширина и высота равны нулю. - None, чтобы удалить привязку области отображения и использовать родительскую область отображения.
- Экземпляр
-
transform
Transform, необязательно -
Преобразование, применяемое к области отображения. Если не указано, используется преобразование в область отображения родительского элемента.
-
bbox
- classmethod
set_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_title(title, prop=None)[source] -
Установить заголовок легенды. Свойства шрифта можно задать с помощью параметра prop.
- classmethod
update_default_handler_map(handler_map)[source] -
Метод класса для обновления карты обработчиков по умолчанию.
-
zorder= 5
-
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.4.3/api/legend_api.html