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.set_label('Label via method') line, = ax.plot([1, 2, 3]) ax.legend()Конкретные линии могут быть исключены из автоматического выбора элементов легенды путём определения подписи, начинающейся с нижнего подчеркивания. Это значение по умолчанию для всех графических элементов, поэтому вызов
Axes.legendбез аргументов и без ручного задания меток приведет к тому, что легенда не будет отображена.2. Подписи существующих элементов графика
Чтобы создать легенду для линий, которые уже существуют на осях (например, с помощью plot), просто вызовите эту функцию с итерируемым списком строк, по одной для каждого элемента легенды. Например:
ax.plot([1, 2, 3]) ax.legend(['A simple line'])
Примечание: Этот способ использования не рекомендуется, так как связь между элементами графика и метками определяется только порядком и может быть легко нарушена.
3. Явное определение элементов в легенде
Для полного контроля над тем, какие графические элементы имеют запись в легенде, можно передать итерируемый список графических элементов легенды, за которым следует итерируемый список меток легенды:
legend((line1, line2, line3), ('label1', 'label2', 'label3'))
Параметры: -
handles : sequence of Artist, optional -
Список артистов (линий, блоков) для добавления в легенду. Используйте вместе с метками, если вам нужен полный контроль над тем, что отображается в легенде, и автоматический механизм, описанный выше, недостаточен.
Длина маркеров и меток должна быть одинаковой. В противном случае они будут усечены до меньшей длины.
-
labels : sequence of strings, optional -
Список меток, отображаемых рядом с артистами. Используйте вместе с маркерами, если вам нужен полный контроль над тем, что отображается в легенде, и автоматический механизм, описанный выше, недостаточен.
Возвращает: - экземпляр :class:`matplotlib.legend.Legend`
Другие параметры: -
loc : int or string or pair of floats, default: rcParams["legend.loc"] ('best' for axes, 'upper right' for figures) -
Расположение легенды. Возможные коды:
Строка расположения Код расположения 'best' 0 'верхний правый' 1 'верхний левый' 2 'нижний левый' 3 'нижний правый' 4 'правый' 5 'центр слева' 6 'центр справа' 7 'нижний центр' 8 'верхний центр' 9 'центр' 10 В качестве альтернативы может быть 2-кортеж, задающий
x, yлевого нижнего угла легенды в координатах осей (в этом случаеbbox_to_anchorбудет проигнорировано). -
bbox_to_anchor : BboxBase, 2-tuple, or 4-tuple of floats -
Прямоугольник, используемый для позиционирования легенды в сочетании с loc. По умолчанию
axes.bbox(если вызывается как методAxes.legend) илиfigure.bbox(если вызываетсяFigure.legend). Этот аргумент позволяет произвольно размещать легенду.Координаты Bbox интерпретируются в системе координат, заданной
bbox_transform, с использованием по умолчанию координат оси или фигуры, в зависимости от того, какой методlegendиспользуется.Если задан 4-кортеж или
BboxBase, он определяет Bbox(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)
-
ncol : integer -
Количество столбцов в легенде. По умолчанию 1.
-
prop : None or matplotlib.font_manager.FontProperties or dict -
Свойства шрифта легенды. Если None (по умолчанию), будут использоваться текущие значения
matplotlib.rcParams. -
fontsize : int or float or {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'} -
Управляет размером шрифта легенды. Если значение числовое, размер будет абсолютным размером шрифта в пунктах. Строковые значения являются относительными по отношению к текущему размеру шрифта по умолчанию. Этот аргумент используется только в том случае, если
propне указан. -
numpoints : None or int -
Количество точек маркера в легенде при создании записи легенды для
Line2D(линия). По умолчаниюNone, которое получит значение изrcParams["legend.numpoints"]. -
scatterpoints : None or int -
Количество точек маркера в легенде при создании записи легенды для
PathCollection(диаграмма рассеяния). По умолчаниюNone, которое получит значение изrcParams["legend.scatterpoints"]. -
scatteryoffsets : iterable of floats -
Вертикальное смещение (относительно размера шрифта) для маркеров, созданных для записи легенды диаграммы рассеяния. 0.0 соответствует основанию текста легенды, а 1.0 — вершине. Для отображения всех маркеров на одной высоте установите значение в
[0.5]. По умолчанию[0.375, 0.5, 0.3125]. -
markerscale : None or int or float -
Относительный размер маркеров легенды по сравнению с первоначально нарисованными. По умолчанию
None, которое получит значение изrcParams["legend.markerscale"]. -
markerfirst : bool -
Если True, маркер легенды размещается слева от метки легенды. Если False, маркер легенды размещается справа от метки легенды. По умолчанию True.
-
frameon : None or bool -
Управление отображением легенды на области (рамке). По умолчанию
None, которое получит значение изrcParams["legend.frameon"]. -
fancybox : None or bool -
Управление включением закруглённых углов вокруг
FancyBboxPatch, что формирует фон легенды. По умолчаниюNone, которое получит значение изrcParams["legend.fancybox"]. -
shadow : None or bool -
Управление отображением тени за легендой. По умолчанию
None, которое получит значение изrcParams["legend.shadow"]. -
framealpha : None or float -
Управление альфа-прозрачностью фона легенды. По умолчанию
None, которое получит значение изrcParams["legend.framealpha"]. Если тень включена и framealpha равноNone, значение по умолчанию игнорируется. -
facecolor : None or "inherit" or a color spec -
Управление цветом фона легенды. По умолчанию
None, которое получит значение изrcParams["legend.facecolor"]. Если"inherit", будет использованоrcParams["axes.facecolor"]. -
edgecolor : None or "inherit" or a color spec -
Управление цветом границы фона легенды. По умолчанию
None, которое получит значение изrcParams["legend.edgecolor"]Если"inherit", будет использованоrcParams["axes.edgecolor"]. -
mode : {"expand", None} -
Если
modeустановлено в"expand", легенда будет горизонтально расширена, чтобы заполнить область осей (илиbbox_to_anchor, если определяет размер легенды). -
bbox_transform : None or matplotlib.transforms.Transform -
Преобразование для рамки ограничивающей области (
bbox_to_anchor). Для значенияNone(по умолчанию) используется преобразованиеtransAxesосей. -
title : str or None -
Заголовок легенды. По умолчанию нет заголовка (
None). - title_fontsize: str или None
-
Размер шрифта заголовка легенды. По умолчанию — размер шрифта по умолчанию.
-
borderpad : float or None -
Относительное межстрочное расстояние внутри рамки легенды. Измеряется в единицах размера шрифта. По умолчанию
None, которое получит значение изrcParams["legend.borderpad"]. -
labelspacing : float or None -
Вертикальное расстояние между записями легенды. Измеряется в единицах размера шрифта. По умолчанию
None, которое получит значение изrcParams["legend.labelspacing"]. -
handlelength : float or None -
Длина маркеров легенды. Измеряется в единицах размера шрифта. По умолчанию
None, которое получит значение изrcParams["legend.handlelength"]. -
handletextpad : float or None -
Отступ между маркер легенды и текстом. Измеряется в единицах размера шрифта. По умолчанию
None, которое получит значение изrcParams["legend.handletextpad"]. -
borderaxespad : float or None -
Отступ между осями и рамкой легенды. Измеряется в единицах размера шрифта. По умолчанию
None, которое получит значение изrcParams["legend.borderaxespad"]. -
columnspacing : float or None -
Расстояние между столбцами. Измеряется в единицах размера шрифта. По умолчанию
None, которое получит значение изrcParams["legend.columnspacing"]. -
handler_map : dict or None -
Пользовательский словарь, сопоставляющий экземпляры или типы с обработчиком легенды. Этот
handler_mapобновляет словарь обработчиков по умолчанию, который находится вmatplotlib.legend.Legend.get_legend_handler_map().
Примечания
Не все типы объектов поддерживаются командой легенды. См. Руководство по легендам для получения подробной информации.
Примеры
(Исходный код, png, pdf)
-
Примеры использования matplotlib.pyplot.legend
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.0.0/api/_as_gen/matplotlib.pyplot.legend.html