matplotlib.legend
Модуль legend определяет класс Legend, который отвечает за отрисовку легенд, связанных с осями и/или фигурами.
Важно
Вероятно, вам никогда не придётся создавать экземпляр Legend вручную. Большинство пользователей обычно создают легенду с помощью функции legend(). Для получения более подробной информации о легендах также есть руководство по легендам.
Класс Legend можно рассматривать как контейнер для элементов и текстов легенды. Создание соответствующих элементов легенды из элементов графика на осях или фигурах (например, линий, фигур и т. д.) задаётся обработчиком отображения, который определяет соответствие между элементами графика и обработчиками легенды, которые будут использоваться (обработчики легенды по умолчанию определены в модуле legend_handler). Обратите внимание, что не все типы элементов графика поддерживаются легендой по умолчанию, но можно расширить возможности обработчика легенды для поддержки произвольных объектов. Для получения дополнительной информации см. руководство по легендам.
-
class matplotlib.legend.DraggableLegend(legend, use_blit=False, update='loc')[source] -
Bases:
matplotlib.offsetbox.DraggableOffsetBoxОборачивает
Legendдля поддержки перетаскивания мышкой.Параметры: -
legendLegend -
Экземпляр
Legendдля оборачивания. -
use_blitbool, optional -
Использовать кеширование для более быстрого составления изображения. Для получения подробностей см. FuncAnimation.
-
update{'loc', 'bbox'}, optional -
Если "loc", обновить параметр loc легенды при завершении. Если "bbox", обновить параметр bbox_to_anchor.
-
artist_picker(self, legend, evt)[source]
-
finalize_offset(self)[source]
-
-
class matplotlib.legend.Legend(parent, handles, labels, loc=None, numpoints=None, markerscale=None, markerfirst=True, scatterpoints=None, scatteryoffsets=None, prop=None, fontsize=None, borderpad=None, labelspacing=None, handlelength=None, handleheight=None, handletextpad=None, borderaxespad=None, columnspacing=None, ncol=1, mode=None, fancybox=None, shadow=None, title=None, title_fontsize=None, framealpha=None, edgecolor=None, facecolor=None, bbox_to_anchor=None, bbox_transform=None, frameon=None, handler_map=None)[source] -
Bases:
matplotlib.artist.ArtistРазмещает легенду на осях в указанном месте loc.
Параметры: -
parentAxes or Figure -
Объект, содержащий легенду.
-
handleslist of Artist -
Список объектов Artists (линии, области) для добавления в легенду.
-
labelslist of str -
Список меток, которые будут отображаться рядом с объектами Artists. Длина списков handles и labels должна быть одинаковой. В противном случае они будут усечены до меньшей длины.
Другие параметры: -
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 'upper right' 1 'upper left' 2 'lower left' 3 'lower right' 4 'right' 5 'center left' 6 'center right' 7 'lower center' 8 'upper center' 9 'center' 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)
-
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 включен, и framealphaNone, значение по умолчанию игнорируется. -
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"](по умолчанию: '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_fontsize: str or 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().
Примечания
Пользователи могут указать любую произвольную позицию для легенды, используя ключевой параметр bbox_to_anchor. bbox_to_anchor может быть
BboxBase(или производное от него) или кортежем из 2 или 4 чисел с плавающей точкой. Подробнее см.set_bbox_to_anchor().Позицию легенды можно задать, установив loc кортежем из 2 чисел с плавающей точкой, которое интерпретируется как координаты левого нижнего угла легенды в нормированных координатах осей.
-
codes = {'best': 0, 'center': 10, 'center left': 6, 'center right': 7, 'lower center': 8, 'lower left': 3, 'lower right': 4, 'right': 5, 'upper center': 9, 'upper left': 2, 'upper right': 1}
-
-
contains(self, event)[source] -
Проверить, содержит ли элемент графический объект событие мыши.
Параметры: -
mouseeventmatplotlib.backend_bases.MouseEvent
Возвращает: -
containsbool -
Является ли значение внутри радиуса.
-
detailsdict -
Словарь, специфичный для объекта, содержащий подробности контекста события, например, какие точки находятся в радиусе выделения. Подробности см. в соответствующих подклассах Artist.
См. также
-
set_contains, get_contains
-
-
draw(self, renderer)[source] -
Отрисовать все, что принадлежит легенде.
-
draw_frame(self, b)[source] -
Установить отрисовку рамки в значение b.
Параметры: -
bbool
-
-
get_bbox_to_anchor(self)[source] -
Возвращает область, к которой будет привязана легенда.
-
get_children(self)[source] -
Возвращает список дочерних графических элементов.
-
classmethod get_default_handler_map()[source] -
Метод класса, возвращающий карту обработчиков по умолчанию.
-
get_draggable(self)[source] -
Возвращает
True, если легенда может перетаскиваться,Falseв противном случае.
-
get_frame(self)[source] -
Возвращает экземпляры
Rectangle, используемые для создания рамки легенды.
-
get_frame_on(self)[source] -
Получить, отображается ли рамка легенды.
-
static get_legend_handler(legend_handler_map, orig_handle)[source] -
Возвращает обработчик легенды из legend_handler_map, соответствующий orig_handler.
legend_handler_map должен быть объектом словаря (который возвращается методом get_legend_handler_map).
Сначала проверяется, является ли orig_handle ключом в legend_handler_map, и возвращается соответствующее значение. В противном случае проверяется каждый класс в его порядке разрешения методов. Если соответствующий ключ не найден, возвращается
None.
-
get_legend_handler_map(self)[source] -
Возвращает карту обработчиков.
-
get_lines(self)[source] -
Возвращает список экземпляров
Line2Dв легенде.
-
get_patches(self)[source] -
Возвращает список экземпляров
Patchв легенде.
-
get_texts(self)Textэкземпляров в легенде.
-
-
get_tightbbox(self, renderer)[source] -
Аналогично
Legend.get_window_extent, но использует область для легенды.Параметры: -
rendererRendererBase instance -
рендерер, который будет использоваться для отрисовки графиков (т.е.
fig.canvas.get_renderer())
Возвращает: -
`.BboxBase`containing the bounding box in figure pixel co-ordinates.
-
-
get_title(self)Textэкземпляр для заголовка легенды.
-
get_window_extent(self, renderer=None)[source] -
Возвращает область легенды.
-
set_bbox_to_anchor(self, bbox, transform=None)[source] -
Установить область, к которой будет привязана легенда.
bbox может быть
- экземпляр
BboxBase - кортеж из
(left, bottom, width, height)в заданном преобразовании (нормализованные координаты оси, если None) - кортеж из
(left, bottom), где ширина и высота предполагаются нулевыми.
- экземпляр
-
classmethod set_default_handler_map(handler_map)[source] -
Метод класса для установки карты обработчиков по умолчанию.
-
set_draggable(self, state, use_blit=False, update='loc')[source] -
Включить или отключить возможность перетаскивания легенды мышкой.
Параметры: -
statebool -
Включить или отключить перетаскивание мышкой.
-
use_blitbool, optional -
Использовать буферизацию для более быстрого составления изображений. Подробности см. в FuncAnimation.
-
update{'loc', 'bbox'}, optional -
Параметр легенды, который нужно изменить при перетаскивании:
- 'loc': обновить параметр loc легенды
- 'bbox': обновить параметр bbox_to_anchor легенды
Возвращает: -
If state is True this returns the DraggableLegend helper -
instance. Otherwise this returns None.
-
-
set_frame_on(self, b)[source] -
Установить, выводить ли рамку области легенды.
Параметры: -
bbool
-
-
set_title(self, title, prop=None)[source] -
Установить заголовок легенды. Шрифтовые свойства можно задать с помощью параметра prop.
-
classmethod update_default_handler_map(handler_map)[source] -
Метод класса для обновления карты обработчиков по умолчанию.
-
zorder = 5
-
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.2.2/api/legend_api.html