matplotlib.legend
Модуль legend определяет класс Legend, который отвечает за отрисовку легенд, связанных с осями и/или фигурами.
Важно
Вероятность того, что вы создадите экземпляр Legend вручную, крайне мала. Большинство пользователей обычно создают легенду с помощью функции legend. Для получения дополнительной информации о легендах также имеется руководство по легендам.
Класс Legend является контейнером для элементов легенды и текстов легенды.
Карта обработчиков легенды определяет, как создавать элементы легенды из объектов (линий, областей и т. д.) на осях или в фигурах. По умолчанию обработчики легенды определены в модуле legend_handler. Хотя не все типы объектов поддерживаются по умолчанию, можно определить пользовательские обработчики легенды для поддержки произвольных объектов.
Дополнительную информацию см. в руководстве по легендам.
-
class matplotlib.legend.DraggableLegend(legend, use_blit=False, update='loc')[source] -
Базовый класс:
matplotlib.offsetbox.DraggableOffsetBoxОбёртка вокруг
Legendдля поддержки перетаскивания мышью.Параметры: -
legendLegend -
Экземпляр
Legend, который нужно обернуть. -
use_blitbool, optional -
Использовать блиттинг для более быстрого составления изображения. Для получения подробностей см. FuncAnimation.
-
update{'loc', 'bbox'}, optional -
Если "loc", обновить параметр loc легенды после завершения. Если "bbox", обновить параметр bbox_to_anchor.
-
finalize_offset(self)[source]
-
-
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] -
Bases:
matplotlib.artist.ArtistРазмещает легенду на осях в заданном месте loc.
Параметры: -
parentAxes or Figure -
Объект, содержащий легенду.
-
handleslist of Artist -
Список объектов (линий, областей) для добавления в легенду.
-
labelslist of str -
Список меток для отображения рядом с объектами. Длина списков handles и labels должна быть одинаковой. Если это не так, они усекаются до меньшей длины.
Другие параметры: -
locstr or pair of floats, default: rcParams["legend.loc"] (default: 'best') ('best' for axes, 'upper right' for figures) -
Расположение легенды.
Строки
'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 'upper right' 1 'upper left' 2 'lower left' 3 'lower right' 4 'right' 5 'center left' 6 'center right' 7 'lower center' 8 'upper center' 9 'center' 10 -
bbox_to_anchorBboxBase, 2-tuple, or 4-tuple of floats -
Прямоугольник, используемый для позиционирования легенды в сочетании с 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)
-
ncolint, default: 1 -
Количество столбцов в легенде.
-
propNone or matplotlib.font_manager.FontProperties or dict -
Свойства шрифта легенды. Если None (по умолчанию), будут использоваться текущие настройки
matplotlib.rcParams. -
fontsizeint or {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'} -
Размер шрифта легенды. Если значение является числовым, размер будет абсолютным размером шрифта в пунктах. Строковые значения относительны к текущему размеру шрифта по умолчанию. Этот аргумент используется только в том случае, если prop не указан.
-
labelcolorstr or list -
Устанавливает цвет текста в легенде. Может быть строкой допустимого цвета (например, 'red'), или списком строковых цветов. Цвет метки также можно сделать совпадающим с цветом линии или маркера, используя 'linecolor', 'markerfacecolor' (или 'mfc') или 'markeredgecolor' (или 'mec').
-
numpointsint, default: rcParams["legend.numpoints"] (default: 1) -
Количество точек маркера в легенде при создании записи легенды для
Line2D(линии). -
scatterpointsint, default: rcParams["legend.scatterpoints"] (default: 1) -
Количество точек маркера в легенде при создании записи легенды для
PathCollection(диаграммы рассеяния). -
scatteryoffsetsiterable of floats, default: [0.375, 0.5, 0.3125] -
Вертикальное смещение (относительно размера шрифта) для маркеров, созданных для записи легенды диаграммы рассеяния. 0.0 — в основании текста легенды, 1.0 — вверху. Для вывода всех маркеров на одной высоте установите в
[0.5]. -
markerscalefloat, default: rcParams["legend.markerscale"] (default: 1.0) -
Относительный размер маркеров легенды по сравнению с исходно нарисованными.
-
markerfirstbool, default: True -
Если True, маркер легенды размещается слева от метки легенды. Если False, маркер легенды размещается справа от метки легенды.
-
frameonbool, default: rcParams["legend.frameon"] (default: True) -
Определяет, должна ли легенда нарисовываться на области (рамке).
-
fancyboxbool, default: rcParams["legend.fancybox"] (default: True) -
Должны ли быть включены закругленные углы вокруг
FancyBboxPatch, составляющего фон легенды. -
shadowbool, default: rcParams["legend.shadow"] (default: False) -
Должен ли нарисовываться оттенок за легендой.
-
framealphafloat, default: rcParams["legend.framealpha"] (default: 0.8) -
Альфа-прозрачность фона легенды. Если shadow активировано, а framealpha равно
None, значение по умолчанию игнорируется. -
facecolor"inherit" or color, default: rcParams["legend.facecolor"] (default: 'inherit') -
Цвет фона легенды. Если
"inherit", используетсяrcParams["axes.facecolor"](по умолчанию'white'). -
edgecolor"inherit" or color, default: rcParams["legend.edgecolor"] (default: '0.8') -
Цвет границы области фона легенды. Если
"inherit", используетсяrcParams["axes.edgecolor"](по умолчанию'black'). -
mode{"expand", None} -
Если mode установлено в
"expand", легенда будет расширена по горизонтали, чтобы заполнить область осей (или bbox_to_anchor, если определяет размер легенды). -
bbox_transformNone or matplotlib.transforms.Transform -
Преобразование для прямоугольника (bbox_to_anchor). Для значения
None(по умолчанию) используется преобразование осейtransAxes. -
titlestr or None -
Заголовок легенды. По умолчанию заголовок отсутствует (
None). -
title_fontsizeint or {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}, default: rcParams["legend.title_fontsize"] (default: None) -
Размер шрифта заголовка легенды.
-
borderpadfloat, default: rcParams["legend.borderpad"] (default: 0.4) -
Пробелы внутри рамки легенды в единицах размера шрифта.
-
labelspacingfloat, default: rcParams["legend.labelspacing"] (default: 0.5) -
Вертикальное расстояние между записями легенды в единицах размера шрифта.
-
handlelengthfloat, default: rcParams["legend.handlelength"] (default: 2.0) -
Длина рукояток легенды в единицах размера шрифта.
-
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(self, event)[source] -
Проверка, содержит ли объект указанное событие мыши.
Параметры: -
mouseeventmatplotlib.backend_bases.MouseEvent
Возвращаемые значения: -
containsbool -
Являются ли какие-либо значения в радиусе.
-
detailsdict -
Словарь, специфичный для объекта, содержащий детали контекста события, например, какие точки содержатся в радиусе выбора. См. соответствующие подклассы объектов для получения подробностей.
-
-
-
draw(self, renderer)[source] -
Отобразить элемент (и его дочерние элементы) с помощью данного рендерера.
Это не окажет никакого эффекта, если элемент не отображается (
Artist.get_visibleвозвращает False).Параметры: -
rendererRendererBase subclass.
Примечания
Этот метод переопределён в подклассах элемента.
-
-
draw_frame(self, b) -
Установить, нужно ли отображать область легенды.
Параметры: -
bbool
-
-
get_bbox_to_anchor(self)[source] -
Возвращает прямоугольник, к которому будет привязана легенда.
-
classmethod get_default_handler_map()[source] -
Метод класса, возвращающий карту обработчиков по умолчанию.
-
get_draggable(self)[source] -
Возвращает
True, если легенда перемещаема,Falseв противном случае.
-
get_frame(self)[source] -
Возвращает
Rectangle, используемый для обрамления легенды.
-
get_frame_on(self)[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(self)[source] -
Возвращает карту обработчиков.
-
get_lines(self)[source] -
Возвращает список
Line2Dв легенде.
-
get_patches(self)[source] -
Возвращает список
Patchв легенде.
-
get_texts(self)[source] -
Возвращает список
Textв легенде.
-
get_tightbbox(self, renderer)[source] -
Аналогично
Legend.get_window_extent, но использует прямоугольник для легенды.Параметры: -
rendererRendererBase subclass -
рендерер, который будет использоваться для рисования графиков (т.е.
fig.canvas.get_renderer())
Возвращает: -
BboxBase -
Прямоугольник в пикселях координат фигуры.
-
-
get_title(self)[source] -
Возвращает экземпляр
Textдля заголовка легенды.
-
get_window_extent(self, renderer=None)[source] -
Получить прямоугольник области осей в пространстве отображения.
Ширина и высота прямоугольника неотрицательны.
Подклассы должны переопределить для включения в вычисление прямоугольника «плотной» области. По умолчанию возвращается пустой прямоугольник в координатах 0, 0.
Будьте осторожны при использовании этой функции, результаты не обновятся, если изменится область окна элемента. Область может измениться из-за любых изменений в стеке преобразований, таких как изменение пределов осей, размера фигуры или используемой области рисования (как это делается при сохранении фигуры). Это может привести к неожиданному поведению, когда интерактивные фигуры выглядят нормально на экране, но сохраняются неправильно.
-
set_bbox_to_anchor(self, bbox, transform=None)[source] -
Установить прямоугольник, к которому будет привязана легенда.
Параметры: -
bboxBboxBase or tuple -
Прямоугольник может быть задан следующими способами:
- Экземпляр
BboxBase - Кортеж из
(left, bottom, width, height)в заданном преобразовании (нормализованные координаты осей, если None) - Кортеж из
(left, bottom), где ширина и высота предполагаются равными нулю. - None, для удаления привязки прямоугольника и использования прямоугольника родительского элемента.
- Экземпляр
-
transformTransform, optional -
Преобразование, применяемое к прямоугольнику. Если не указано, используется преобразование в прямоугольник родительского элемента.
-
-
classmethod set_default_handler_map(handler_map)[source] -
Метод класса для установки карты обработчиков по умолчанию.
-
-
set_draggable(self, state, use_blit=False, update='loc')[source] -
Включить или отключить поддержку перетаскивания легенды мышкой.
Параметры: -
statebool -
Включить или отключить перетаскивание мышкой.
-
use_blitbool, optional -
Использовать блиттинг для более быстрого составления изображения. Подробнее см. FuncAnimation.
-
update{'loc', 'bbox'}, optional -
Параметр легенды, который нужно изменить при перетаскивании:
- 'loc': обновить параметр loc легенды
- 'bbox': обновить параметр bbox_to_anchor легенды
Возвращаемое значение: -
DraggableLegend or None -
Если state равен
True, это возвращает экземпляр помощникаDraggableLegend. В противном случае возвращается None.
-
-
set_frame_on(self, b)[source] -
Установить, нужно ли рисовать область легенды.
Параметры: -
bbool
-
-
set_title(self, title, prop=None)[source] -
Установить заголовок легенды. Свойства шрифта можно задать параметром prop.
-
classmethod update_default_handler_map(handler_map)[source] -
Метод класса для обновления карты обработчиков по умолчанию.
-
zorder = 5
-
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.3.3/api/legend_api.html