matplotlib.pyplot.figlegend
-
matplotlib.pyplot.figlegend(*args, **kwargs)[source] -
Размещение легенды на фигуре.
Вызовы:
figlegend() figlegend(labels) figlegend(handles, labels)
Вызовы соответствуют трём различным способам использования данного метода:
1. Автоматическое определение элементов для отображения в легенде
Элементы, которые будут добавлены в легенду, определяются автоматически, если не передаются дополнительные аргументы.
В этом случае метки берутся из объекта-графического элемента. Вы можете указать их при создании объекта или вызвав метод
set_label()на объекте:ax.plot([1, 2, 3], label='Inline label') fig.figlegend()
или:
line, = ax.plot([1, 2, 3]) line.set_label('Label via method') fig.figlegend()Конкретные линии можно исключить из автоматического выбора элементов для легенды, задав метку, начинающуюся с символа нижнего подчеркивания. Это по умолчанию для всех объектов-графических элементов, поэтому вызов
Figure.legendбез аргументов и без ручного задания меток не приведет к отображению легенды.2. Присвоение меток существующим элементам графика
Чтобы создать легенду для всех объектов-графических элементов на всех осях, вызовите эту функцию с итерируемым списком строк, по одной для каждого элемента легенды. Например:
fig, (ax1, ax2) = plt.subplots(1, 2) ax1.plot([1, 3, 5], color='blue') ax2.plot([2, 4, 6], color='red') fig.figlegend(['the blues', 'the reds'])
Примечание: Этот способ вызова не рекомендуется, так как связь между элементами графика и метками только подразумевается их порядком и легко может быть нарушена.
3. Явное определение элементов в легенде
Для полного контроля над тем, какие объекты-графические элементы имеют запись в легенде, можно передать итерируемый список объектов-графических элементов легенды и итерируемый список меток легенды соответственно:
fig.figlegend([line1, line2, line3], ['label1', 'label2', 'label3'])
Параметры: -
handlesсписок
Artist, необязательно -
Список объектов-графических элементов (линий, областей) для добавления в легенду. Используйте вместе с labels, если требуется полный контроль над отображаемыми элементами легенды, и автоматический механизм, описанный выше, недостаточен.
Длина списков handles и labels должна быть одинаковой. Если это не так, они усекаются до меньшей длины.
- labelsсписок str, необязательно
-
Список меток для отображения рядом с графическими элементами. Используйте вместе с handles, если требуется полный контроль над отображаемыми элементами легенды, и автоматический механизм, описанный выше, недостаточен.
Возвращаемое значение: -
handlesсписок
Другие параметры: -
locстрока или пара чисел с плавающей точкой, по умолчанию:
rcParams["legend.loc"](по умолчанию:'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', и каждое расположение в виде "строки" также может быть задано числовым значением:Строковое расположение Код расположения 'лучшее' 0 'верхний правый' 1 'верхний левый' 2 'нижний левый' 3 'нижний правый' 4 'правый' 5 'центр слева' 6 'центр справа' 7 'нижний центр' 8 'верхний центр' 9 'центр' 10 -
bbox_to_anchor
BboxBase, 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)
- ncolцелое число, по умолчанию: 1
-
Количество столбцов в легенде.
-
propNone или
matplotlib.font_manager.FontPropertiesили словарь -
Свойства шрифта легенды. Если None (по умолчанию), будут использованы текущие значения
matplotlib.rcParams. - fontsizeцелое число или {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}
-
Размер шрифта легенды. Если значение является числом, размер будет абсолютным размером шрифта в пунктах. Строковые значения относительны к текущему размеру шрифта по умолчанию. Этот аргумент используется только если prop не указан.
- labelcolorстрока или список
-
Цвет текста в легенде. Либо допустимая строка цвета (например, 'red'), либо список строк цвета. Цвет метки также можно сделать соответствующим цвету линии или маркера, используя 'linecolor', 'markerfacecolor' (или 'mfc'), или 'markeredgecolor' (или 'mec').
-
numpointsцелое число, по умолчанию:
rcParams["legend.numpoints"](по умолчанию:1) -
Количество точек маркера в легенде при создании записи легенды для
Line2D(линия). -
scatterpointsцелое число, по умолчанию:
rcParams["legend.scatterpoints"](по умолчанию:1) -
Количество точек маркера в легенде при создании записи легенды для
PathCollection(график рассеяния). -
scatteryoffsetsитерируемый список чисел с плавающей точкой, по умолчанию:
[0.375, 0.5, 0.3125] -
Вертикальное смещение (относительно размера шрифта) для маркеров, созданных для записи легенды графика рассеяния. 0,0 находится у основания текста легенды, а 1,0 — вверху. Чтобы отобразить все маркеры на одной высоте, установите значение
[0.5]. -
markerscaleчисло с плавающей точкой, по умолчанию:
rcParams["legend.markerscale"](по умолчанию:1.0) -
Относительный размер маркеров легенды по сравнению с исходно отрисованными.
- markerfirstлогическое значение, по умолчанию: True
-
Если True, маркер легенды размещается слева от метки легенды. Если False, маркер легенды размещается справа от метки легенды.
-
frameonлогическое значение, по умолчанию:
rcParams["legend.frameon"](по умолчанию:True) -
Определяет, должна ли легенда быть нарисована на области (рамке).
-
fancyboxлогическое значение, по умолчанию:
rcParams["legend.fancybox"](по умолчанию:True) -
Определяет, должны ли быть включены закругленные углы вокруг
FancyBboxPatch, которая составляет фоновую область легенды. -
shadowлогическое значение, по умолчанию:
rcParams["legend.shadow"](по умолчанию:False) -
Определяет, должна ли легенда иметь тень за ней.
-
framealphaчисло с плавающей точкой, по умолчанию:
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. - titleстрока или None
-
Заголовок легенды. По умолчанию заголовок отсутствует (
None). -
title_fontsizeцелое число или {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}, по умолчанию:
rcParams["legend.title_fontsize"](по умолчанию:None) -
Размер шрифта заголовка легенды.
-
borderpadчисло с плавающей точкой, по умолчанию:
rcParams["legend.borderpad"](по умолчанию:0.4) -
Пробел внутри рамки легенды в единицах размера шрифта.
-
labelspacingчисло с плавающей точкой, по умолчанию:
rcParams["legend.labelspacing"](по умолчанию:0.5) -
Вертикальное расстояние между записями легенды в единицах размера шрифта.
-
handlelengthчисло с плавающей точкой, по умолчанию:
rcParams["legend.handlelength"](по умолчанию:2.0) -
Длина маркеров легенды в единицах размера шрифта.
-
handletextpadчисло с плавающей точкой, по умолчанию:
rcParams["legend.handletextpad"](по умолчанию:0.8) -
Отступ между маркером легенды и текстом в единицах размера шрифта.
-
borderaxespadчисло с плавающей точкой, по умолчанию:
rcParams["legend.borderaxespad"](по умолчанию:0.5) -
Отступ между осями и рамкой легенды в единицах размера шрифта.
-
columnspacingчисло с плавающей точкой, по умолчанию:
rcParams["legend.columnspacing"](по умолчанию:2.0) -
Расстояние между столбцами в единицах размера шрифта.
- handler_mapсловарь или None
-
Пользовательский словарь сопоставления экземпляров или типов с обработчиком легенды. Этот handler_map обновляет стандартный словарь обработчиков, найденный в
matplotlib.legend.Legend.get_legend_handler_map.
-
locстрока или пара чисел с плавающей точкой, по умолчанию:
См. также
Примечания
Некоторые объекты графики не поддерживаются этой функцией. Подробнее см. Руководство по легендам.
Примеры использования matplotlib.pyplot.figlegend
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.4.3/api/_as_gen/matplotlib.pyplot.figlegend.html