Spec-Zone.ru › Matplotlib 3.2

matplotlib.pyplot.legend

matplotlib.pyplot.legend(*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

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

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

labelslist of str, optional

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

Возвращает:
legendLegend
Другие параметры:
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', а каждое «строковое» местоположение также может быть задано как числовое значение:

Строка расположения Код расположения
'лучшее' 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 интерпретируются в системе координат, задаваемой 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)
ncolinteger

Количество столбцов в легенде. По умолчанию 1.

propNone or matplotlib.font_manager.FontProperties or dict

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

fontsizeint or float or {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}

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

numpointsNone or int

Количество точек маркера в легенде при создании записи легенды для Line2D (линия). По умолчанию None, что означает использование rcParams["legend.numpoints"] (по умолчанию: 1).

scatterpointsNone or int

Количество точек маркера в легенде при создании записи легенды для PathCollection (график рассеяния). По умолчанию None, что означает использование rcParams["legend.scatterpoints"] (по умолчанию: 1).

scatteryoffsetsiterable of floats

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

markerscaleNone or int or float

Относительный размер маркеров легенды по сравнению с первоначально нарисованными. По умолчанию None, что означает использование rcParams["legend.markerscale"] (по умолчанию: 1.0).

markerfirstbool

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

frameonNone or bool

Нужно ли рисовать легенду на участке (рамке). По умолчанию None, что означает использование rcParams["legend.frameon"] (по умолчанию: True).

fancyboxNone or bool

Нужно ли включить скругленные углы вокруг FancyBboxPatch, которые образуют фон легенды. По умолчанию None, что означает использование rcParams["legend.fancybox"] (по умолчанию: True).

shadowNone or bool

Нужно ли рисовать тень за легендой. По умолчанию None, что означает использование rcParams["legend.shadow"] (по умолчанию: False).

framealphaNone or float

Альфа-прозрачность фона легенды. По умолчанию None, что означает использование rcParams["legend.framealpha"] (по умолчанию: 0.8). Если shadow включен и framealpha None, значение по умолчанию игнорируется.

facecolorNone or "inherit" or color

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

edgecolorNone or "inherit" or color

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

mode{"expand", None}

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

bbox_transformNone or matplotlib.transforms.Transform

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

titlestr or None

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

title_fontsize: str или None

Размер шрифта заголовка легенды. По умолчанию - размер шрифта по умолчанию.

borderpadfloat or None

Доля отступа внутри границы легенды, в единицах размера шрифта. По умолчанию None, что означает использование rcParams["legend.borderpad"] (по умолчанию: 0.4).

labelspacingfloat or None

Вертикальное расстояние между записями легенды, в единицах размера шрифта. По умолчанию None, что означает использование rcParams["legend.labelspacing"] (по умолчанию: 0.5).

handlelengthfloat or None

Длина маркеров легенды, в единицах размера шрифта. По умолчанию None, что означает использование rcParams["legend.handlelength"] (по умолчанию: 2.0).

handletextpadfloat or None

Отступ между маркером легенды и текстом, в единицах размера шрифта. По умолчанию None, что означает использование rcParams["legend.handletextpad"] (по умолчанию: 0.8).

borderaxespadfloat or None

Отступ между осями и границей легенды, в единицах размера шрифта. По умолчанию None, что означает использование rcParams["legend.borderaxespad"] (по умолчанию: 0.5).

columnspacingfloat or None

Интервал между столбцами, в единицах размера шрифта. По умолчанию None, что означает использование rcParams["legend.columnspacing"] (по умолчанию: 2.0).

handler_mapdict or None

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

Примечания

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

Примеры

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

../../_images/legend_00_00.png

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

Errorbar limit selection

Выбор пределов для графиков ошибок

Discrete distribution as horizontal bar chart

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

Plotting masked and NaN values

Вычерчивание значений с пропусками и NaN

Scatter Symbol

Символ точечной диаграммы

Scatter plots with a legend

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

Step Demo

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

Contourf Hatching

Контурное заполнение с штриховкой

Contourf and log color scale

Контурное заполнение и логарифмическая шкала цвета

Labeling a pie and a donut

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

Legend using pre-defined labels

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

Usetex Demo

Демонстрация использования Usetex

Infinite horizontal and vertical lines

Бесконечные горизонтальные и вертикальные линии

Whats New 0.98.4 Legend

Легенда 0.98.4

Parasite Simple

Простая паразитная ось

Findobj Demo

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

Zorder Demo

Демонстрация порядка отрисовки

The Sankey class

Класс Sankey

SVG Histogram

SVG Гистограмма

Pgf Preamble

Предисловие Pgf

Simple Legend01

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

Usage Guide

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

Sample plots in Matplotlib

Примеры графиков в Matplotlib

Legend guide

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

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

Spec-Zone.ru

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