Spec-Zone.ru › Matplotlib 3.3

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

Словарь, специфичный для объекта, содержащий детали контекста события, например, какие точки содержатся в радиусе выбора. См. соответствующие подклассы объектов для получения подробностей.

END_OF_DOCUMENT_MARKER
draw(self, renderer) [source]

Отобразить элемент (и его дочерние элементы) с помощью данного рендерера.

Это не окажет никакого эффекта, если элемент не отображается (Artist.get_visible возвращает False).

Параметры:
rendererRendererBase subclass.

Примечания

Этот метод переопределён в подклассах элемента.

draw_frame(self, b)

Установить, нужно ли отображать область легенды.

Параметры:
bbool
get_bbox_to_anchor(self) [source]

Возвращает прямоугольник, к которому будет привязана легенда.

get_children(self) [source]

Возвращает список дочерних элементов Artist этого элемента Artist.

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

Spec-Zone.ru

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