Spec-Zone.ru › Matplotlib 3.3

matplotlib.axes.Axes.legend

Axes.legend(self, *args, **kwargs) [source]

Разместите легенду на осях.

Подписи вызовов:

legend()
legend(labels)
legend(handles, labels)

Подписи вызовов соответствуют трём различным способам использования этого метода.

1. Автоматическое определение элементов для отображения в легенде

Элементы, которые нужно добавить в легенду, автоматически определяются, если вы не передаёте никаких дополнительных аргументов.

В этом случае метки берутся из объекта графического элемента. Вы можете указать их либо при создании объекта графического элемента, либо вызвав метод set_label() для объекта графического элемента:

line, = ax.plot([1, 2, 3], label='Inline label')
ax.legend()

или:

line, = ax.plot([1, 2, 3])
line.set_label('Label via method')
ax.legend()

Конкретные линии могут быть исключены из автоматического выбора элементов легенды, если метка начинается с нижнего подчеркивания. Это значение по умолчанию для всех объектов графических элементов, поэтому вызов Axes.legend без аргументов и без ручного указания меток приведет к тому, что легенда не будет отображаться.

2. Подпись существующих элементов графика

Чтобы создать легенду для линий, которые уже существуют на осях (например, с помощью plot), просто вызовите эту функцию с итерируемым объектом строк, по одной для каждого элемента легенды. Например:

ax.plot([1, 2, 3])
ax.legend(['A simple line'])

Примечание: Этот способ использования не рекомендуется, потому что связь между элементами графика и метками неявно задаётся их порядком и может легко нарушиться.

3. Явное определение элементов в легенде

Для полного управления тем, какие графические элементы имеют запись в легенде, можно передать итерируемый объект графических элементов легенды, за которым следует итерируемый объект меток легенды, соответственно:

legend((line1, line2, line3), ('label1', 'label2', 'label3'))
Параметры:
handlessequence of Artist, optional

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

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

labelslist of str, optional

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

Возвращаемое значение:
Legend
Другие параметры:
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
'верхний правый' 1
'верхний левый' 2
'нижний левый' 3
'нижний правый' 4
'правый' 5
'центр слева' 6
'центр справа' 7
'нижний центр' 8
'верхний центр' 9
'центр' 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

Устанавливает цвет текста в легенде. Может быть допустимой строкой цвета (например, 'красный'), или списком строковых значений цветов. Цвет метки также можно сделать таким же, как цвет линии или маркера, используя '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.

Примечания

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

Примеры

(Исходный код, png, pdf)

../../_images/legend_00_00.png

Примеры использования matplotlib.axes.Axes.legend

Stacked bar chart

Столбчатая диаграмма с накоплением

Grouped bar chart with labels

Группированная столбчатая диаграмма с подписями

Plotting categorical variables

Использование категориальных переменных

Discrete distribution as horizontal bar chart

Дискретное распределение как горизонтальная столбчатая диаграмма

Customizing dashed line styles

Настройка стилей штриховой линии

prop_cycle property markevery in rcParams

Свойство prop_cycle markevery в rcParams

Scatter plots with a legend

Диаграммы рассеяния с легендой

Stackplots and streamgraphs

Столбчатые диаграммы с накоплением и диаграммы потоков

Contourf Hatching

Контурные диаграммы с штриховкой

Contourf and log color scale

Контурные диаграммы с логарифмической цветовой шкалой

Secondary Axis

Вспомогательная ось

Plot a confidence ellipse of a two-dimensional dataset

Построение эллипса доверия двумерного набора данных

Using histograms to plot a cumulative distribution

Использование гистограмм для построения кумулятивного распределения

The histogram (hist) function with multiple data sets

Функция гистограммы (hist) с несколькими наборами данных

Bar of pie

Диаграмма "столбец из круговой"

Labeling a pie and a donut

Подписи круговой и донат-диаграмм

Polar Legend

Легенда на полярной оси

Composing Custom Legends

Создание пользовательских легенд

Legend using pre-defined labels

Легенда с предварительно определенными подписями

Legend Demo

Демонстрация легенды

Mathtext Demo

Демонстрация Mathtext

Rendering math equations using TeX

Отображение математических уравнений с помощью TeX

What's New 0.98.4 Legend

Новая функция легенды 0.98.4

Parasite Axes demo

Демонстрация паразитных осей

Parasite axis demo

Демонстрация паразитных осей

Anatomy of a figure

Структура графика

Legend Picking

Выбор легенды

Patheffect Demo

Демонстрация эффекта пути

Plot 2D data on 3D plot

Вывод 2D-данных на 3D-графике

Parametric Curve

Параметрическая кривая

Fill Between and Alpha

Заполнение области и альфа-каналы

Multiple Yaxis With Spines

Множественные оси Y с отметками

Group barchart with units

Групповая гистограмма с единицами измерения

Simple Legend02

Простая легенда 02

Usage Guide

Руководство по использованию

Constrained Layout Guide

Руководство по ограниченной компоновке

Tight Layout guide

Руководство по плотной компоновке

Specifying Colors

Указание цветов

© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.3.3/api/_as_gen/matplotlib.axes.Axes.legend.html

Spec-Zone.ru

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