matplotlib.legend
Модуль legend определяет класс Legend, который отвечает за отрисовку легенд, связанных с осями и/или фигурами.
Важно
Вероятность того, что вы когда-либо создадите экземпляр Legend вручную, крайне мала. Большинство пользователей обычно создают легенду с помощью функции legend. Для получения более подробной информации о легендах также есть руководство по легендам.
Класс Legend является контейнером для элементов легенды и текстов легенды.
Карта обработчиков легенды определяет, как создавать метки легенды из элементов графиков (линии, области и т.д.) на осях или фигурах. Стандартные обработчики легенды определены в модуле legend_handler. Хотя не все типы элементов графиков поддерживаются стандартными обработчиками легенды, можно определить пользовательские обработчики легенды для поддержки произвольных объектов.
Дополнительную информацию см. в руководстве по легендам.
- classmatplotlib.legend.DraggableLegend(legend, use_blit=False, update='loc')[source]
-
Bases:
DraggableOffsetBoxОбёртка над
Legendдля поддержки перетаскивания мышью.- Parameters:
-
-
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, reverse=False, scatterpoints=None, scatteryoffsets=None, prop=None, fontsize=None, labelcolor=None, borderpad=None, labelspacing=None, handlelength=None, handleheight=None, handletextpad=None, borderaxespad=None, columnspacing=None, ncols=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, alignment='center', ncol=1, draggable=False)[source]
-
Bases:
ArtistРазмещение легенды на фигуре/осях.
- Parameters:
-
-
parent
AxesorFigure -
Элемент графики, содержащий легенду.
-
handleslist of
Artist -
Список элементов графики (линии, области), которые будут добавлены в легенду.
- labelslist of str
-
Список меток для отображения рядом с элементами графики. Длина списков handles и labels должна быть одинаковой. Если они не одинаковы, они обрезаются до длины более короткого списка.
-
parent
- Other Parameters:
-
-
locstr или пара чисел с плавающей точкой, по умолчанию:
rcParams["legend.loc"](по умолчанию:'best') для Axes, 'верхний правый' для Figure -
Расположение легенды.
Строки
'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', и каждое местоположение "строкой" также может быть задано числовым значением:Строковое обозначение расположения
Код расположения
'лучшее' (только для осей)
0
'верхний правый'
1
'верхний левый'
2
'нижний левый'
3
'нижний правый'
4
'правый'
5
'центр слева'
6
'центр справа'
7
'нижний центр'
8
'верхний центр'
9
'центр'
10
Если рисунок использует менеджер ограниченного макета, строковые коды аргумента loc могут обеспечить лучшее поведение макета при использовании префикса 'outside'. Возникает неоднозначность в углах, поэтому 'outside верхний правый' создаст место для легенды над остальными осями в макете, а 'outside правый верхний' — справа от макета. Кроме значений loc, перечисленных выше, у нас также есть 'outside правый верхний', 'outside правый нижний', 'outside левый верхний' и 'outside левый нижний'. Подробнее см. Руководство по легендам.
-
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)
- ncolsцелое число, по умолчанию: 1
-
Количество столбцов в легенде.
Для обратной совместимости также поддерживается написание ncol, но это не рекомендуется. Если оба заданы, ncols имеет приоритет.
-
propNone или
FontPropertiesили словарь -
Свойства шрифта легенды. Если None (по умолчанию), будут использоваться текущие значения
matplotlib.rcParams. - fontsizeцелое число или {'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'). -
numpointsцелое число, по умолчанию:
rcParams["legend.numpoints"](по умолчанию:1) -
Количество точек маркера в легенде при создании записи легенды для
Line2D(линия). -
scatterpointsцелое число, по умолчанию:
rcParams["legend.scatterpoints"](по умолчанию:1) -
Количество точек маркера в легенде при создании записи легенды для
PathCollection(график точек). -
scatteryoffsetsитерируемый список чисел с плавающей точкой, по умолчанию:
[0.375, 0.5, 0.3125] -
Вертикальное смещение (относительно размера шрифта) для маркеров, созданных для записи легенды на графике точек. 0.0 — внизу текста легенды, 1.0 — вверху. Чтобы разместить все маркеры на одной высоте, задайте значение
[0.5]. -
markerscaleчисло с плавающей точкой, по умолчанию:
rcParams["legend.markerscale"](по умолчанию:1.0) -
Относительный размер маркеров легенды по сравнению с первоначально нарисованными.
- markerfirstбулево значение, по умолчанию: True
-
Если True, маркер легенды размещается слева от метки легенды. Если False, маркер легенды размещается справа от метки легенды.
- reverseбулево значение, по умолчанию: False
-
Если True, метки легенды отображаются в обратном порядке от входных данных. Если False, метки легенды отображаются в том же порядке, что и входные данные.
Добавлена в версии 3.7.
-
frameonбулево значение, по умолчанию:
rcParams["legend.frameon"](по умолчанию:True) -
Определяет, должна ли легенда быть нарисована на области (рамке).
-
fancyboxбулево значение, по умолчанию:
rcParams["legend.fancybox"](по умолчанию:True) -
Определяет, должны ли быть включены закругленные углы вокруг
FancyBboxPatch, который формирует фон легенды. -
shadowбулево значение, по умолчанию:
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 или
Transform -
Преобразование для прямоугольника (bbox_to_anchor). Для значения
None(по умолчанию) используется преобразование осейtransAxes. - titleстрока или None
-
Заголовок легенды. По умолчанию — без заголовка (
None). -
title_fontpropertiesNone или
FontPropertiesили словарь -
Свойства шрифта заголовка легенды. Если None (по умолчанию), будет использован аргумент title_fontsize, если он указан; если title_fontsize также None, будут использованы текущие значения
rcParams["legend.title_fontsize"](по умолчанию:None).
-
locstr или пара чисел с плавающей точкой, по умолчанию:
-
-
title_fontsizeint or {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}, default:
rcParams["legend.title_fontsize"](default:None) -
Размер шрифта заголовка легенды. Примечание: это свойство нельзя использовать совместно с title_fontproperties. Если необходимо установить размер шрифта вместе с другими его свойствами, используйте параметр size в title_fontproperties.
- alignment{'center', 'left', 'right'}, default: 'center'
-
Выравнивание заголовка легенды и области элементов. Элементы выравниваются как единый блок, поэтому маркеры всегда выстраиваются в линию.
-
borderpadfloat, default:
rcParams["legend.borderpad"](default:0.4) -
Отступ внутри рамки легенды, в единицах размера шрифта.
-
labelspacingfloat, default:
rcParams["legend.labelspacing"](default:0.5) -
Вертикальное расстояние между элементами легенды, в единицах размера шрифта.
-
handlelengthfloat, default:
rcParams["legend.handlelength"](default:2.0) -
Длина маркеров легенды, в единицах размера шрифта.
-
handleheightfloat, default:
rcParams["legend.handleheight"](default: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. - draggablebool, default: False
-
Можно ли перетаскивать легенду с помощью мыши.
-
title_fontsizeint or {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}, default:
- Атрибуты:
-
- legend_handles
-
Список объектов
Artist, добавленных в качестве элементов легенды.Добавлено в версии 3.7.
- 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]
-
Проверка, содержит ли элемент событие мыши.
- Параметры:
-
-
mouseevent
MouseEvent
-
mouseevent
- Возвращаемые значения:
-
- containsbool
-
Содержит ли элемент значения в указанном радиусе.
- detailsdict
-
Словарь с деталями контекста события, например, какие точки содержатся в радиусе выбора. См. соответствующие подклассы элементов для подробной информации.
- draw(renderer)[source]
-
Отрисовка элемента (и его потомков) с помощью заданного рендерера.
Не имеет эффекта, если элемент не видим (
Artist.get_visibleвозвращает False).- Параметры:
-
-
renderer
RendererBaseподкласс.
-
renderer
Примечания
Этот метод переопределён в подклассах элементов.
- draw_frame(b)[source]
-
Установить, отрисовывать ли рамку области легенды.
- Параметры:
-
- bbool
- get_alignment()[source]
-
Получить значение выравнивания области легенды.
- 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=None)[source]
-
Аналогично
Artist.get_window_extent, но включает любые обрезки.- Параметры:
-
-
renderer
RendererBaseподкласс -
рендерер, который будет использоваться для рисования фигур (т.е.
fig.canvas.get_renderer())
-
renderer
- Возвращает:
-
Bbox-
Охватывающая область (в пиксельных координатах фигуры).
- get_title()[source]
-
Возвращает экземпляр
Textдля заголовка легенды.
- get_window_extent(renderer=None)[source]
-
Получение области ограничивающей фигуры художника в пространстве отображения.
Ширина и высота области ограничивающей фигуры неотрицательны.
Подклассы должны переопределять для включения в расчет "плотного" ограничивающего прямоугольника. По умолчанию возвращается пустая область в координатах 0, 0.
Будьте осторожны при использовании этой функции, результаты не будут обновляться, если область окна художника изменится. Ограничение может измениться из-за любых изменений в стеке преобразований, таких как изменение пределов осей, размера фигуры или используемого холста (как при сохранении фигуры). Это может привести к неожиданному поведению, когда интерактивные фигуры будут выглядеть нормально на экране, но сохранятся некорректно.
- propertylegendHandles[source]
-
[Устаревшее свойство]
Замечания
Устаревшее с версии 3.7: Используйте legend_handles вместо него.
- set(*, agg_filter=<UNSET>, alignment=<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>, mouseover=<UNSET>, ncols=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, title=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[source]
-
Устанавливает несколько свойств сразу.
Поддерживаемые свойства:
Свойство
Описание
функция фильтра, которая принимает массив чисел с плавающей точкой (m, n, 3) и значение dpi, а возвращает массив чисел с плавающей точкой (m, n, 3) и два смещения от нижнего левого угла изображения
{'центр', 'слева', 'справа'}.
скаляр или None
логическое значение
BboxBaseили кортежлогическое значение
Объект Patch или (Path, Transform) или None
логическое значение
логическое значение
строка
логическое значение
объект
логическое значение
неизвестно
None или логическое значение или число с плавающей точкой или вызываемая функция
логическое значение
(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой)
логическое значение или None
строка
строка
логическое значение
число с плавающей точкой
- set_alignment(alignment)[source]
-
Устанавливает выравнивание заголовка легенды и блока записей.
Записи выравниваются как единый блок, так что маркеры всегда выстроены в одну линию.
- Параметры:
-
- alignment{'центр', 'слева', 'справа'}.
- set_bbox_to_anchor(bbox, transform=None)[source]
-
Установить прямоугольник, к которому будет привязан легенда.
- Параметры:
-
-
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, необязательно
-
Использовать быструю отрисовку (blitting) для ускорения работы. Подробнее см. FuncAnimation.
- update{'loc', 'bbox'}, необязательно
-
Параметр легенды, который нужно изменить при перетаскивании:
- 'loc': обновить параметр loc легенды
- 'bbox': обновить параметр bbox_to_anchor легенды
- Возвращает:
-
-
DraggableLegendили None -
Если state
True, возвращает вспомогательный объектDraggableLegend. В противном случае возвращает None.
-
- set_frame_on(b)[source]
-
Установить, будет ли отображаться рамка вокруг легенды.
- Параметры:
-
- bbool
- set_ncols(ncols)[source]
-
Установить количество столбцов.
- set_title(title, prop=None)[source]
-
Установить заголовок легенды и стиль шрифта заголовка.
- Параметры:
-
- titlestr
-
Заголовок легенды.
-
prop
font_manager.FontPropertiesилиstrилиpathlib.Path -
Свойства шрифта заголовка легенды. Если строка, то она интерпретируется как шаблон fontconfig, обрабатываемый функцией
FontProperties. Если путь к файлу, то он интерпретируется как абсолютный путь к файлу шрифта.
- classmethodupdate_default_handler_map(handler_map)[source]
-
Обновить глобальную по умолчанию карту обработчиков, общую для всех легенд.
- zorder=5
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.7.5/api/legend_api.html