Spec-Zone.ru › Matplotlib 3.5

matplotlib.legend

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

Важно

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

Класс Legend является контейнером для элементов управления легенды и подписей легенды.

Карта обработчиков легенды определяет, как создавать элементы управления легенды из объектов графики (линии, области и т. д.) на осях или фигурах. По умолчанию обработчики легенды определены в модуле legend_handler. Хотя не все типы объектов графики поддерживаются обработчиками легенды по умолчанию, можно определить пользовательские обработчики легенды для поддержки произвольных объектов.

Более подробную информацию можно найти в руководстве по легендам.

classmatplotlib.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()[source]
classmatplotlib.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, title_fontproperties=None)[source]

Наследуется от matplotlib.artist.Artist

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

Параметры
parentAxes или Figure

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

handlesсписок Artist

Список объектов графики (линий, областей), которые нужно добавить в легенду.

labelsсписок str

Список подписей, которые нужно отобразить рядом с объектами графики. Длина списков handles и labels должна быть одинаковой. Если они не совпадают, они обрезаются до меньшего из двух значений.

Другие параметры
locstr или пара чисел с плавающей точкой, по умолчанию: rcParams["legend.loc"] (по умолчанию: 'best') ('best' для осей, 'upper right' для фигур)

Расположение легенды.

Строки '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-кортеж или 4-кортеж чисел с плавающей точкой

Прямоугольник, используемый для позиционирования легенды в сочетании с 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, по умолчанию: 1

Количество столбцов в легенде.

propNone или matplotlib.font_manager.FontProperties или словарь

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

fontsizeint или {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}

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

labelcolorстрока или список, по умолчанию: rcParams["legend.labelcolor"] (по умолчанию: 'None')

Цвет текста в легенде. Любая допустимая строка цвета (например, 'red'), или список строк цветов. Цвет подписи также может быть сделан таким же, как цвет линии или маркера, используя 'linecolor', 'markerfacecolor' (или 'mfc'), или 'markeredgecolor' (или 'mec').

Цвет подписи можно задать глобально, используя rcParams["legend.labelcolor"] (по умолчанию: 'None'). Если None, используется rcParams["text.color"] (по умолчанию: 'black').

numpointsint, по умолчанию: rcParams["legend.numpoints"] (по умолчанию: 1)

Количество точек маркера в легенде при создании записи легенды для Line2D (линии).

scatterpointsint, по умолчанию: rcParams["legend.scatterpoints"] (по умолчанию: 1)

Количество точек маркера в легенде при создании записи легенды для PathCollection (график точек).

scatteryoffsetsитерируемый список чисел с плавающей точкой, по умолчанию: [0.375, 0.5, 0.3125]

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

markerscaleчисло с плавающей точкой, по умолчанию: rcParams["legend.markerscale"] (по умолчанию: 1.0)

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

markerfirstbool, по умолчанию: True

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

frameonbool, по умолчанию: rcParams["legend.frameon"] (по умолчанию: True)

Определяет, должна ли легенда быть нарисована на области (рамке).

fancyboxbool, по умолчанию: rcParams["legend.fancybox"] (по умолчанию: True)

Определяет, должны ли быть включены округленные края вокруг FancyBboxPatch, который составляет фон легенды.

shadowbool, по умолчанию: rcParams["legend.shadow"] (по умолчанию: False)

Определяет, нужно ли нарисовать тень за легендой.

framealphaчисло с плавающей точкой, по умолчанию: rcParams["legend.framealpha"] (по умолчанию: 0.8)

Альфа-прозрачность фона легенды. Если shadow активирован и framealpha None, значение по умолчанию игнорируется.

facecolor"inherit" или цвет, по умолчанию: rcParams["legend.facecolor"] (по умолчанию: 'inherit')

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

edgecolor"inherit" или цвет, по умолчанию: rcParams["legend.edgecolor"] (по умолчанию: '0.8')

Цвет рамки фона легенды. Если "inherit", используется rcParams["axes.edgecolor"] (по умолчанию: 'black').

mode{"expand", None}

Если mode установлен в "expand", легенда будет горизонтально расширена, чтобы заполнить область осей (или bbox_to_anchor, если он определяет размер легенды).

bbox_transformNone или matplotlib.transforms.Transform

Преобразование для прямоугольника (bbox_to_anchor). Для значения None (по умолчанию) будет использоваться преобразование осей transAxes.

titleстрока или None

Заголовок легенды. По умолчанию заголовок отсутствует (None).

title_fontpropertiesNone или matplotlib.font_manager.FontProperties или словарь

Свойства шрифта заголовка легенды. Если None (по умолчанию), будет использован аргумент title_fontsize, если он присутствует; если title_fontsize также None, будет использован текущий rcParams["legend.title_fontsize"] (по умолчанию: None).

title_fontsizeint или {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}, по умолчанию: rcParams["legend.title_fontsize"] (по умолчанию: None)

Размер шрифта заголовка легенды. Примечание: Это нельзя использовать совместно с title_fontproperties. Если вы хотите задать размер шрифта вместе с другими свойствами шрифта, используйте параметр size в title_fontproperties.

borderpadчисло с плавающей точкой, по умолчанию: rcParams["legend.borderpad"] (по умолчанию: 0.4)

Пробел внутри границы легенды, в единицах размера шрифта.

labelspacingчисло с плавающей точкой, по умолчанию: rcParams["legend.labelspacing"] (по умолчанию: 0.5)

Вертикальное расстояние между записями легенды, в единицах размера шрифта.

handlelengthчисло с плавающей точкой, по умолчанию: rcParams["legend.handlelength"] (по умолчанию: 2.0)

Длина элементов управления легенды, в единицах размера шрифта.

handleheightчисло с плавающей точкой, по умолчанию: rcParams["legend.handleheight"] (по умолчанию: 0.7)

Высота элементов управления легенды, в единицах размера шрифта.

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(event)[source]

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

Parameters
mouseeventmatplotlib.backend_bases.MouseEvent
Returns
containsbool

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

detailsdict

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

draw(renderer)[source]

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

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

Parameters
rendererRendererBase подкласс.

Примечания

Этот метод переопределен в подклассах графических элементов.

draw_frame(b)[source]

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

Parameters
bbool
get_bbox_to_anchor()[source]

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

get_children()[source]

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

classmethodget_default_handler_map()[source]

Метод класса, который возвращает стандартную карту обработчиков.

get_draggable()[source]

Возвращает True , если легенда перетаскиваема, False в противном случае.

get_frame()[source]

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

get_frame_on()[source]

Получить, отображается ли рамка легенды.

staticget_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()[source]

Возвращает карту обработчиков.

get_lines()[source]

Возвращает список Line2D в легенде.

get_patches()[source]

Возвращает список Patch в легенде.

get_texts()[source]

Возвращает список Text в легенде.

get_tightbbox(renderer)[source]

Аналогично Artist.get_window_extent, но включает любые обрезки.

Параметры
rendererRendererBase подкласс

рендерер, который будет использоваться для отрисовки графиков (т.е. fig.canvas.get_renderer())

Возвращает
Bbox

Охватывающая область (в пикселях координат рисунка).

get_title()[source]

Возвращает экземпляр Text для заголовка легенды.

get_window_extent(renderer=None)[source]

Получить область отображения элемента в пространстве отображения.

Ширина и высота области отображения неотрицательны.

Подклассы должны переопределять для включения в расчет области отображения "tight". По умолчанию возвращается пустая область отображения в координатах 0, 0.

Будьте внимательны при использовании этой функции, результаты не обновятся, если изменится область отображения элемента. Область может измениться из-за любых изменений в стеке преобразований, таких как изменение пределов осей, размера рисунка или используемого холста (как это делается при сохранении рисунка). Это может привести к неожиданному поведению, когда интерактивные рисунки будут выглядеть хорошо на экране, но будут сохранены неправильно.

set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, bbox_to_anchor=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, draggable=<UNSET>, frame_on=<UNSET>, gid=<UNSET>, in_layout=<UNSET>, label=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, title=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[source]

Установить несколько свойств сразу.

Поддерживаемые свойства:

Свойство

Описание

agg_filter

функция фильтра, которая принимает массив float (m, n, 3) и значение dpi, и возвращает массив (m, n, 3)

alpha

скаляр или None

animated

bool

bbox_to_anchor

BboxBase или кортеж

clip_box

Bbox

clip_on

bool

clip_path

Patch или (Path, Transform) или None

draggable

bool

figure

Figure

frame_on

bool

gid

str

in_layout

bool

label

объект

path_effects

AbstractPathEffect

picker

None или bool или float или вызываемый объект

rasterized

bool

sketch_params

(масштаб: float, длина: float, случайность: float)

snap

bool или None

title

неизвестно

transform

Transform

url

str

visible

bool

zorder

float

set_bbox_to_anchor(bbox, transform=None)[source]

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

Parameters
bboxBboxBase или кортеж

Область может быть задана следующим образом:

  • Экземпляр BboxBase
  • Кортеж (left, bottom, width, height) в данном преобразовании (нормализованные координаты осей, если None)
  • Кортеж (left, bottom) где ширина и высота будут считаться равными нулю.
  • None, чтобы убрать привязку к области и использовать область родительского элемента.
transformTransform, необязательно

Преобразование, применяемое к области. Если не указано, используется преобразование к области родительского элемента.

classmethodset_default_handler_map(handler_map)[source]

Метод класса для установки карты обработчиков по умолчанию.

set_draggable(state, use_blit=False, update='loc')[source]

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

Параметры
statebool

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

use_blitbool, optional

Использовать кеширование для более быстрого отображения изображения. Подробнее см. FuncAnimation.

update{'loc', 'bbox'}, optional

Параметр легенды, который нужно изменить при перетаскивании:

  • 'loc': обновить параметр loc легенды
  • 'bbox': обновить параметр bbox_to_anchor легенды
Возвращает
DraggableLegend или None

Если state равен True, то возвращает экземпляр вспомогательного класса DraggableLegend. В противном случае возвращает None.

set_frame_on(b)[source]

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

Параметры
bbool
set_title(title, prop=None)[source]

Установить заголовок легенды. Шрифт можно настроить с помощью параметра prop.

classmethodupdate_default_handler_map(handler_map)[source]

Метод класса для обновления карты обработчиков по умолчанию.

zorder=5

© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.5.1/api/legend_api.html

Spec-Zone.ru

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