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_blit : bool, optional -
Использовать кеширование для более быстрого композирования изображения. Подробнее см. FuncAnimation.
-
update : {'loc', 'bbox'}, optional -
Если "loc", обновить параметр loc легенды при окончании. Если "bbox", обновить параметр bbox_to_anchor.
-
artist_picker(self, legend, evt)[source]
-
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, 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 or Figure -
Объект, содержащий легенду.
-
handles : sequence of Artist -
Список объектов Artists (линий, областей) для добавления в легенду.
-
labels : sequence of strings -
Список меток, отображаемых рядом с объектами. Длина элементов handles и labels должна быть одинаковой. Если они не одинаковы, они усекаются до меньшей длины.
Другие параметры: -
loc : str or pair of floats, default: rcParams["legend.loc"] ('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 'верхний правый' 1 'верхний левый' 2 'нижний левый' 3 'нижний правый' 4 'правый' 5 'центр слева' 6 'центр справа' 7 'нижний центр' 8 'верхний центр' 9 'центр' 10 -
bbox_to_anchor : BboxBase, 2-tuple, or 4-tuple of floats -
Прямоугольник, используемый для позиционирования легенды в сочетании с loc. По умолчанию
axes.bbox(если вызывается как методAxes.legend) илиfigure.bbox(еслиFigure.legend). Этот аргумент позволяет произвольное размещение легенды.Координаты Bbox интерпретируются в системе координат, заданной
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)
-
ncol : integer -
Количество столбцов в легенде. По умолчанию 1.
-
prop : None or matplotlib.font_manager.FontProperties or dict -
Свойства шрифта легенды. Если None (по умолчанию), будут использоваться текущие
matplotlib.rcParams. -
fontsize : int or float or {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'} -
Управляет размером шрифта легенды. Если значение является числовым, размер будет абсолютным размером шрифта в пунктах. Строковые значения являются относительными к текущему размеру шрифта по умолчанию. Этот аргумент используется только в том случае, если
propне указан. -
numpoints : None or int -
Количество маркеров в легенде при создании записи для
Line2D(линии). По умолчаниюNone, который получит значение изrcParams["legend.numpoints"]. -
scatterpoints : None or int -
Количество маркеров в легенде при создании записи для
PathCollection(диаграммы рассеяния). По умолчаниюNone, который получит значение изrcParams["legend.scatterpoints"]. -
scatteryoffsets : iterable of floats -
Вертикальное смещение (относительно размера шрифта) для маркеров, созданных для записи легенды диаграммы рассеяния. 0.0 находится в основании текста легенды, а 1.0 — вверху. Чтобы нарисовать все маркеры на одной высоте, установите в
[0.5]. По умолчанию[0.375, 0.5, 0.3125]. -
markerscale : None or int or float -
Относительный размер маркеров легенды по сравнению с исходно нарисованными. По умолчанию
None, который получит значение изrcParams["legend.markerscale"]. -
markerfirst : bool -
Если True, маркер легенды размещается слева от метки легенды. Если False, маркер легенды размещается справа от метки легенды. По умолчанию True.
-
frameon : None or bool -
Управление отображением легенды на области (рамке). По умолчанию
None, который получит значение изrcParams["legend.frameon"]. -
fancybox : None or bool -
Управление включением скругленных углов вокруг
FancyBboxPatch, которая формирует фон легенды. По умолчаниюNone, который получит значение изrcParams["legend.fancybox"]. -
shadow : None or bool -
Управление отображением тени за легендой. По умолчанию
None, который получит значение изrcParams["legend.shadow"]. -
framealpha : None or float -
Управление альфа-прозрачностью фона легенды. По умолчанию
None, который получит значение изrcParams["legend.framealpha"]. Если тень включена, а framealpha —None, значение по умолчанию игнорируется. -
facecolor : None or "inherit" or a color spec -
Управление цветом фона легенды. По умолчанию
None, который получит значение изrcParams["legend.facecolor"]. Если"inherit", он получит значениеrcParams["axes.facecolor"]. -
edgecolor : None or "inherit" or a color spec -
Управление цветом границы области фона легенды. По умолчанию
None, который получит значение изrcParams["legend.edgecolor"]Если"inherit", он получит значениеrcParams["axes.edgecolor"]. -
mode : {"expand", None} -
Если
modeустановлено в"expand", легенда будет горизонтально расширена, чтобы заполнить область осей (илиbbox_to_anchorесли определяет размер легенды). -
bbox_transform : None or matplotlib.transforms.Transform -
Преобразование для области (
bbox_to_anchor). Для значенияNone(по умолчанию) используется преобразование осейtransAxes. -
title : str or None -
Заголовок легенды. По умолчанию без заголовка (
None). - title_fontsize: str или None
-
Размер шрифта заголовка легенды. По умолчанию используется размер шрифта по умолчанию.
-
borderpad : float or None -
Доля отступа внутри границы легенды. Измеряется в единицах размера шрифта. По умолчанию
None, который получит значение изrcParams["legend.borderpad"]. -
labelspacing : float or None -
Вертикальное расстояние между записями легенды. Измеряется в единицах размера шрифта. По умолчанию
None, который получит значение изrcParams["legend.labelspacing"]. -
handlelength : float or None -
Длина маркеров легенды. Измеряется в единицах размера шрифта. По умолчанию
None, который получит значение изrcParams["legend.handlelength"]. -
handletextpad : float or None -
Отступ между маркером легенды и текстом. Измеряется в единицах размера шрифта. По умолчанию
None, который получит значение изrcParams["legend.handletextpad"]. -
borderaxespad : float or None -
Отступ между осями и границей легенды. Измеряется в единицах размера шрифта. По умолчанию
None, который получит значение изrcParams["legend.borderaxespad"]. -
columnspacing : float or None -
Отступ между столбцами. Измеряется в единицах размера шрифта. По умолчанию
None, который получит значение изrcParams["legend.columnspacing"]. -
handler_map : dict 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] -
Проверка, содержит ли элемент художник событие мыши.
Параметры: -
mouseevent : matplotlib.backend_bases.MouseEvent
Возвращает: -
contains : bool -
Наличие ли каких-либо значений в радиусе.
-
details : dict -
Словарь, специфичный для художника, содержащий детали контекста события, такие как точки, попавшие в радиус выбора. Подробности см. в отдельных подклассах Художника.
См. также
-
set_contains, get_contains
-
-
draw(self, renderer)[source] -
Отрисовка всех элементов, относящихся к легенде.
-
draw_frame(self, b)[source] -
Установить отрисовку рамки в значение b.
Параметры: -
b : bool
-
-
get_bbox_to_anchor(self)[source] -
Возвращает область, к которой будет привязана легенда.
-
get_children(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)Textinstances in the legend.
-
-
get_tightbbox(self, renderer)[source] -
Аналогично
Legend.get_window_extent, но использует область для легенды.Параметры: -
renderer : RendererBase instance -
рендерер, который будет использоваться для отрисовки фигур (т.е.
fig.canvas.get_renderer())
Возвращает: -
`.BboxBase` : containing the bounding box in figure pixel co-ordinates.
-
-
get_title(self)Textэкземпляр для заголовка легенды.
-
get_window_extent(self, renderer=None)[source] -
Возвращает область легенды.
-
set_bbox_to_anchor(self, bbox, transform=None)[source] -
Устанавливает область, к которой будет привязана легенда.
bbox может быть
- экземпляром
BboxBase - кортежем из
(left, bottom, width, height)в заданном преобразовании (нормализованные координаты осей, если None) - кортежем из
(left, bottom), где ширина и высота предполагаются равными нулю.
- экземпляром
-
classmethod set_default_handler_map(handler_map)[source] -
Метод класса для установки карты обработчиков по умолчанию.
-
set_draggable(self, state, use_blit=False, update='loc')[source] -
Включение или отключение поддержки перетаскивания легенды мышью.
Параметры: -
state : bool -
Включена ли поддержка перетаскивания мышью.
-
use_blit : bool, optional -
Использовать ли кеширование для более быстрого составления изображений. Подробнее см. FuncAnimation.
-
update : {'loc', 'bbox'}, optional -
Параметр легенды, который будет изменён при перетаскивании:
- 'loc': обновить параметр loc легенды
- 'bbox': обновить параметр bbox_to_anchor легенды
Возвращает: -
If state is True this returns the DraggableLegend helper -
instance. Otherwise this returns None.
-
-
set_frame_on(self, b)[source] -
Установить, отображать ли рамку легенды.
Параметры: -
b : bool
-
-
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.1.1/api/legend_api.html