matplotlib.legend
Модуль legend определяет класс Legend, который отвечает за отрисовку легенд, связанных с осями и/или фигурами.
Важно
Вероятность того, что вам придётся создавать экземпляр Legend вручную, крайне низка. Большинство пользователей обычно создают легенду с помощью функции legend. Более подробную информацию о легендах можно найти в руководстве по легендам.
Класс Legend является контейнером для элементов управления легенды и подписей легенды.
Карта обработчиков легенды определяет, как создавать элементы управления легенды из объектов графики (линии, области и т. д.) на осях или фигурах. По умолчанию обработчики легенды определены в модуле legend_handler. Хотя не все типы объектов графики поддерживаются обработчиками легенды по умолчанию, можно определить пользовательские обработчики легенды для поддержки произвольных объектов.
Более подробную информацию можно найти в руководстве по легендам.
- classmatplotlib.legend.DraggableLegend(legend, use_blit=False, update='loc')[source]
-
Наследуется от
matplotlib.offsetbox.DraggableOffsetBoxОбёртка над
Legendдля поддержки перетаскивания мышью.- Параметры
-
-
legend
Legend -
Экземпляр
Legendдля обёртки. - use_blitbool, optional
-
Использовать кеширование для более быстрого отображения. Подробнее см. FuncAnimation.
- update{'loc', 'bbox'}, optional
-
Если "loc", обновить параметр loc легенды при завершении. Если "bbox", обновить параметр bbox_to_anchor.
-
legend
- 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.
- Параметры
-
-
parent
AxesилиFigure -
Объект графики, содержащий легенду.
-
handlesсписок
Artist -
Список объектов графики (линий, областей), которые нужно добавить в легенду.
- labelsсписок str
-
Список подписей, которые нужно отобразить рядом с объектами графики. Длина списков handles и labels должна быть одинаковой. Если они не совпадают, они обрезаются до меньшего из двух значений.
-
parent
- Другие параметры
-
-
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_anchor
BboxBase, 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) -
Высота элементов управления легенды, в единицах размера шрифта.
-
locstr или пара чисел с плавающей точкой, по умолчанию:
-
-
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.
-
handletextpadfloat, default:
Примечания
Пользователи могут указать любое произвольное расположение легенды, используя ключевой аргумент 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
-
-
mouseevent
matplotlib.backend_bases.MouseEvent
-
mouseevent
- Returns
-
- containsbool
-
Является ли какое-либо значение в радиусе.
- detailsdict
-
Словарь, специфичный для графического элемента, содержащий детали контекста события, например, какие точки содержатся в радиусе выбора. См. соответствующие подклассы графических элементов для получения подробностей.
- draw(renderer)[source]
-
Отобразить графический элемент (и его дочерние элементы) с помощью заданного рендерера.
Это не имеет эффекта, если графический элемент не виден (
Artist.get_visibleвозвращает False).- Parameters
-
-
renderer
RendererBaseподкласс.
-
renderer
Примечания
Этот метод переопределен в подклассах графических элементов.
- draw_frame(b)[source]
-
Установить, отображается ли рамка легенды.
- Parameters
-
- bbool
- get_bbox_to_anchor()[source]
-
Возвращает область, к которой будет привязана легенда.
- 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, но включает любые обрезки.- Параметры
-
-
renderer
RendererBaseподкласс -
рендерер, который будет использоваться для отрисовки графиков (т.е.
fig.canvas.get_renderer())
-
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]
-
Установить несколько свойств сразу.
Поддерживаемые свойства:
Свойство
Описание
функция фильтра, которая принимает массив float (m, n, 3) и значение dpi, и возвращает массив (m, n, 3)
скаляр или None
bool
BboxBaseили кортежbool
Patch или (Path, Transform) или None
bool
bool
str
bool
объект
None или bool или float или вызываемый объект
bool
(масштаб: float, длина: float, случайность: float)
bool или None
неизвестно
str
bool
float
- set_bbox_to_anchor(bbox, transform=None)[source]
-
Устанавливает область, к которой будет привязываться легенда.
- Parameters
-
-
bbox
BboxBaseили кортеж -
Область может быть задана следующим образом:
- Экземпляр
BboxBase - Кортеж
(left, bottom, width, height)в данном преобразовании (нормализованные координаты осей, если None) - Кортеж
(left, bottom)где ширина и высота будут считаться равными нулю. - None, чтобы убрать привязку к области и использовать область родительского элемента.
- Экземпляр
-
transform
Transform, необязательно -
Преобразование, применяемое к области. Если не указано, используется преобразование к области родительского элемента.
-
bbox
- 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