Spec-Zone.ru › Matplotlib 3.2

matplotlib.legend

Модуль legend определяет класс Legend, который отвечает за отрисовку легенд, связанных с осями и/или фигурами.

Важно

Вероятно, вам никогда не придётся создавать экземпляр Legend вручную. Большинство пользователей обычно создают легенду с помощью функции legend(). Для получения более подробной информации о легендах также есть руководство по легендам.

Класс Legend можно рассматривать как контейнер для элементов и текстов легенды. Создание соответствующих элементов легенды из элементов графика на осях или фигурах (например, линий, фигур и т. д.) задаётся обработчиком отображения, который определяет соответствие между элементами графика и обработчиками легенды, которые будут использоваться (обработчики легенды по умолчанию определены в модуле legend_handler). Обратите внимание, что не все типы элементов графика поддерживаются легендой по умолчанию, но можно расширить возможности обработчика легенды для поддержки произвольных объектов. Для получения дополнительной информации см. руководство по легендам.

class matplotlib.legend.DraggableLegend(legend, use_blit=False, update='loc') [source]

Bases: matplotlib.offsetbox.DraggableOffsetBox

Оборачивает Legend для поддержки перетаскивания мышкой.

Параметры:
legendLegend

Экземпляр Legend для оборачивания.

use_blitbool, 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]

Bases: matplotlib.artist.Artist

Размещает легенду на осях в указанном месте loc.

Параметры:
parentAxes or Figure

Объект, содержащий легенду.

handleslist of Artist

Список объектов Artists (линии, области) для добавления в легенду.

labelslist of str

Список меток, которые будут отображаться рядом с объектами Artists. Длина списков 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)
ncolinteger

Количество столбцов в легенде. По умолчанию 1.

propNone or matplotlib.font_manager.FontProperties or dict

Свойства шрифта легенды. Если None (по умолчанию), будут использованы текущие значения matplotlib.rcParams.

fontsizeint or float or {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}

Размер шрифта легенды. Если значение числовое, размер будет абсолютным размером шрифта в пунктах. Строковые значения относительны к текущему размеру шрифта по умолчанию. Этот параметр используется только если prop не указан.

numpointsNone or int

Количество маркеров в легенде при создании элемента легенды для Line2D (линия). По умолчанию None, что означает использование rcParams["legend.numpoints"] (по умолчанию: 1).

scatterpointsNone or int

Количество маркеров в легенде при создании элемента легенды для PathCollection (точечный график). По умолчанию None, что означает использование rcParams["legend.scatterpoints"] (по умолчанию: 1).

scatteryoffsetsiterable of floats

Вертикальное смещение (относительно размера шрифта) маркеров, созданных для элемента легенды точечного графика. 0.0 внизу текста легенды, 1.0 вверху. Чтобы нарисовать все маркеры на одной высоте, установите значение [0.5]. По умолчанию [0.375, 0.5, 0.3125].

markerscaleNone or int or float

Относительный размер маркеров легенды по сравнению с первоначально нарисованными. По умолчанию None, что означает использование rcParams["legend.markerscale"] (по умолчанию: 1.0).

markerfirstbool

Если True, маркер легенды размещается слева от метки легенды. Если False, маркер легенды размещается справа от метки легенды. По умолчанию True.

frameonNone or bool

Надо ли рисовать легенду на области (рамке). По умолчанию None, что означает использование rcParams["legend.frameon"] (по умолчанию: True).

fancyboxNone or bool

Надо ли активировать скругленные углы вокруг FancyBboxPatch, который образует фон легенды. По умолчанию None, что означает использование rcParams["legend.fancybox"] (по умолчанию: True).

shadowNone or bool

Надо ли рисовать тень за легендой. По умолчанию None, что означает использование rcParams["legend.shadow"] (по умолчанию: False).

framealphaNone or float

Альфа-прозрачность фона легенды. По умолчанию None, что означает использование rcParams["legend.framealpha"] (по умолчанию: 0.8). Если shadow включен, и framealpha None, значение по умолчанию игнорируется.

facecolorNone or "inherit" or color

Цвет фона легенды. По умолчанию None, что означает использование rcParams["legend.facecolor"] (по умолчанию: 'inherit'). Если "inherit", используется rcParams["axes.facecolor"] (по умолчанию: 'white').

edgecolorNone or "inherit" or color

Цвет обводки фона легенды. По умолчанию None, что означает использование rcParams["legend.edgecolor"] (по умолчанию: '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_fontsize: str or None

Размер шрифта заголовка легенды. По умолчанию – размер шрифта по умолчанию.

borderpadfloat or None

Относительное межстрочное расстояние внутри рамки легенды, в единицах размера шрифта. По умолчанию None, что означает использование rcParams["legend.borderpad"] (по умолчанию: 0.4).

labelspacingfloat or None

Вертикальное расстояние между элементами легенды, в единицах размера шрифта. По умолчанию None, что означает использование rcParams["legend.labelspacing"] (по умолчанию: 0.5).

handlelengthfloat or None

Длина элементов легенды, в единицах размера шрифта. По умолчанию None, что означает использование rcParams["legend.handlelength"] (по умолчанию: 2.0).

handletextpadfloat or None

Отступ между элементом легенды и текстом, в единицах размера шрифта. По умолчанию None, что означает использование rcParams["legend.handletextpad"] (по умолчанию: 0.8).

borderaxespadfloat or None

Отступ между осями и рамкой легенды, в единицах размера шрифта. По умолчанию None, что означает использование rcParams["legend.borderaxespad"] (по умолчанию: 0.5).

columnspacingfloat or None

Интервал между столбцами, в единицах размера шрифта. По умолчанию None, что означает использование rcParams["legend.columnspacing"] (по умолчанию: 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}
END_OF_DOCUMENT_MARKER
contains(self, event) [source]

Проверить, содержит ли элемент графический объект событие мыши.

Параметры:
mouseeventmatplotlib.backend_bases.MouseEvent
Возвращает:
containsbool

Является ли значение внутри радиуса.

detailsdict

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

См. также

set_contains, get_contains
draw(self, renderer) [source]

Отрисовать все, что принадлежит легенде.

draw_frame(self, b) [source]

Установить отрисовку рамки в значение b.

Параметры:
bbool
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 экземпляров в легенде.
get_tightbbox(self, renderer) [source]

Аналогично Legend.get_window_extent, но использует область для легенды.

Параметры:
rendererRendererBase 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]

Включить или отключить возможность перетаскивания легенды мышкой.

Параметры:
statebool

Включить или отключить перетаскивание мышкой.

use_blitbool, 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]

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

Параметры:
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.2.2/api/legend_api.html

Spec-Zone.ru

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