Spec-Zone.ru › Matplotlib 3.1

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) Text instances 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API