Spec-Zone.ru › Matplotlib 3.4

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, если требуется полный контроль над отображаемыми элементами легенды, и автоматический механизм, описанный выше, недостаточен.

Возвращаемое значение:
Legend
END_OF_DOCUMENT_MARKER
Другие параметры:
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_anchorBboxBase, 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.

См. также

Axes.legend

Примечания

Некоторые объекты графики не поддерживаются этой функцией. Подробнее см. Руководство по легендам.

Примеры использования 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

Spec-Zone.ru

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