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, если вам нужен полный контроль над тем, что отображается в легенде, и автоматический механизм, описанный выше, недостаточен.
Возвращаемое значение: Другие параметры: -
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)
Примеры использования matplotlib.axes.Axes.legend
Выбор легенды
© 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