Spec-Zone.ru › Matplotlib 3.2

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

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

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

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, с преобразованием по умолчанию Axes или Figure, в зависимости от того, какой 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.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

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

Stackplot Demo

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

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

Whats New 0.98.4 Legend

Что нового в 0.98.4 Легенда

Parasite Axes demo

Демонстрация вспомогательных осей

Demo Parasite Axes2

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

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.2.2/api/_as_gen/matplotlib.axes.Axes.legend.html

Spec-Zone.ru

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