Spec-Zone.ru › Matplotlib 3.6

matplotlib.axes.Axes.legend

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

Размещение легенды на оси.

Варианты вызова:

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

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

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

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

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

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. Явное указание графических элементов и меток в легенде

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

ax.legend([line1, line2, line3], ['label1', 'label2', 'label3'])

3. Явное указание графических элементов в легенде

Это аналогично пункту 2, но метки берутся из свойств меток графических элементов. Пример:

line1, = ax.plot([1, 2, 3], label='label1')
line2, = ax.plot([1, 2, 3], label='label2')
ax.legend(handles=[line1, line2])

4. Разметка существующих элементов графика

Не рекомендуется

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

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

ax.plot([1, 2, 3])
ax.plot([5, 6, 7])
ax.legend(['First line', 'Second line'])
Параметры:
handlesпоследовательность Artist, необязательно

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

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

labelsсписок строк, необязательно

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

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

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

Строки '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-кортеж или 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)
ncolsint, по умолчанию: 1

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

Для обратной совместимости также поддерживается написание ncol, но это не рекомендуется. Если оба указаны, используется ncols.

propNone или matplotlib.font_manager.FontProperties или dict

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

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

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

labelcolorstr или список, по умолчанию: 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].

markerscalefloat, по умолчанию: 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)

Рисовать ли тень за легендой.

framealphafloat, по умолчанию: 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.

titlestr или None

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

title_fontpropertiesNone или matplotlib.font_manager.FontProperties или dict

Свойства шрифта заголовка легенды. Если 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.

alignment{'center', 'left', 'right'}, по умолчанию: 'center'

Выравнивание заголовка легенды и блока элементов. Элементы выравниваются как единый блок, так что маркеры всегда выстраиваются в ряд.

borderpadfloat, по умолчанию: rcParams["legend.borderpad"] (по умолчанию: 0.4)

Отступы внутри рамки легенды, в единицах размера шрифта.

labelspacingfloat, по умолчанию: rcParams["legend.labelspacing"] (по умолчанию: 0.5)

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

handlelengthfloat, по умолчанию: rcParams["legend.handlelength"] (по умолчанию: 2.0)

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

handleheightfloat, значение по умолчанию: rcParams["legend.handleheight"] (значение по умолчанию: 0.7)

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

handletextpadfloat, значение по умолчанию: rcParams["legend.handletextpad"] (значение по умолчанию: 0.8)

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

borderaxespadfloat, значение по умолчанию: rcParams["legend.borderaxespad"] (значение по умолчанию: 0.5)

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

columnspacingfloat, значение по умолчанию: rcParams["legend.columnspacing"] (значение по умолчанию: 2.0)

Интервал между колонками, в единицах размера шрифта.

handler_mapdict или None

Пользовательский словарь, сопоставляющий экземпляры или типы с обработчиком легенды. Этот handler_map обновляет словарь обработчика по умолчанию, найденный по адресу matplotlib.legend.Legend.get_legend_handler_map.

См. также

Figure.legend

Примечания

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

Примеры

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

../../_images/legend_00_00.png

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

Bar color demo

Демонстрация цвета столбцов

Демонстрация цвета столбцов
Bar Label Demo

Демонстрация меток столбцов

Демонстрация меток столбцов
Stacked bar chart

Сгруппированный столбиковый график

Сгруппированный столбиковый график
Grouped bar chart with labels

Группированный столбиковый график с метками

Группированный столбиковый график с метками
Plotting categorical variables

Построение графиков с категориальными переменными

Построение графиков с категориальными переменными
Fill Between and Alpha

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

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

График шляпок

График шляпок
Customizing dashed line styles

Настройка стилей пунктирной линии

Настройка стилей пунктирной линии
Lines with a ticked patheffect

Линии с отметками

Линии с отметками
Scatter plots with custom symbols

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

Диаграммы рассеяния с пользовательскими символами
Scatter plots with a legend

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

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

Графики сложения и потоковые графики

Графики сложения и потоковые графики
Stairs Demo

Пример ступенчатой функции

Пример ступенчатой функции
Contourf Hatching

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

Контурный график с штриховкой
Tricontour Demo

Демонстрация триконтурных графиков

Демонстрация триконтурных графиков
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) с несколькими наборами данных

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

Столбец-пирог

Столбец-пирог
Labeling a pie and a donut

Метки круговой и донат диаграмм

Метки круговой и донат диаграмм
Polar Legend

Легенда полярного графика

Легенда полярного графика
Composing Custom Legends

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

Создание пользовательских легенд
Legend using pre-defined labels

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

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

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

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

Математический текст

Математический текст
Rendering math equations using TeX

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

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

Простой паразит

Простой паразит
Parasite Axes demo

Демонстрация осей-паразитов

Демонстрация осей-паразитов
Parasite axis demo

Демонстрация оси-паразита

Демонстрация оси-паразита
Anatomy of a figure

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

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

Выбор элементов легенды

Выбор элементов легенды
Patheffect Demo

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

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

Эффект tickedstroke

Эффект tickedstroke
Plot 2D data on 3D plot

Графики 2D данных на 3D графике

Графики 2D данных на 3D графике
Parametric Curve

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

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

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

Демонстрация asinh
Multiple Yaxis With Spines

Несколько осей Y с осью X

Несколько осей Y с осью X
Custom tick formatter for time series

Настройка формата меток для временных рядов

Настройка формата меток для временных рядов
Group barchart with units

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

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

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

Простая легенда 01
Simple Legend02

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

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

Быстрый старт

Быстрый старт
Legend guide

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

Руководство по легендам
Constrained Layout Guide

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

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

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

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

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

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

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

Spec-Zone.ru

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