matplotlib.legend#

El módulo de leyendas define la clase Leyenda, que se encarga de dibujar las leyendas asociadas a ejes y/o figuras.

Importante

Es poco probable que alguna vez cree una instancia de Legend manualmente. La mayoría de los usuarios normalmente crearían una leyenda a través de la legend función. Para obtener más detalles sobre las leyendas, también hay una guía de leyendas .

La Legendclase es un contenedor de identificadores de leyenda y textos de leyenda.

El mapa del controlador de leyenda especifica cómo crear controladores de leyenda a partir de artistas (líneas, parches, etc.) en los ejes o figuras. Los controladores de leyenda predeterminados se definen en el legend_handlermódulo. Si bien no todos los tipos de artistas están cubiertos por los controladores de leyenda predeterminados, se pueden definir controladores de leyenda personalizados para admitir objetos arbitrarios.

Consulte la guía de leyendas para obtener más información.

clase matplotlib.leyenda. DraggableLegend ( leyenda , use_blit = False , update = 'loc' ) [fuente] #

Bases:DraggableOffsetBox

Envoltura alrededor de a Legendpara admitir el arrastre del mouse.

Parámetros :
leyendaLegend

La Legendinstancia a envolver.

use_blit booleano , opcional

Use blitting para una composición de imagen más rápida. Para obtener más información, consulte FuncAnimation .

actualizar {'loc', 'bbox'}, opcional

Si "loc", actualice el parámetro loc de la leyenda al finalizar. Si es "bbox", actualice el parámetro bbox_to_anchor .

finalize_offset ( ) [fuente] #
clase matplotlib.leyenda. Leyenda ( principal , manijas , etiquetas , * , loc = Ninguno , numpoints = Ninguno , escala de marcador = Ninguno , marcador primero = Verdadero , puntos de dispersión = Ninguno , desplazamientos de dispersión = Ninguno , prop = Ninguno , tamaño de fuente = Ninguno , color de etiqueta = Ninguno , borde= Ninguno , espaciado de etiquetas = Ninguno , longitud del identificador = Ninguno , altura del identificador = Ninguno , almohadilla de texto del identificador = Ninguno , borderaxespad = Ninguno , espaciado de columnas = Ninguno , ncols = 1 , modo = Ninguno , fancybox = Ninguno , shadow = Ninguno , title = Ninguno , title_fontsize = Ninguno, framealpha = Ninguno , edgecolor = Ninguno , facecolor = Ninguno , bbox_to_anchor = Ninguno , bbox_transform = Ninguno , frameon = Ninguno , handler_map = Ninguno , title_fontproperties = Ninguno , alineación = 'center' , ncol = 1 ) [fuente] #

Bases:Artist

Coloque una leyenda en los ejes en la ubicación loc.

Parámetros :
padre AxesoFigure

El artista que contiene la leyenda.

lista de manejadores deArtist

Una lista de artistas (líneas, parches) para agregar a la leyenda.

lista de etiquetas de str

Una lista de etiquetas para mostrar junto a los artistas. La longitud de las asas y las etiquetas debe ser la misma. Si no lo son, se truncan a la menor de ambas longitudes.

Otros parámetros :
loc str o par de flotadores, predeterminado: rcParams["legend.loc"](predeterminado: 'best') ('mejor' para ejes, 'superior derecha' para figuras)

La ubicación de la leyenda.

Las cadenas colocan la leyenda en la esquina correspondiente de los ejes/figura.'upper left', 'upper right', 'lower left', 'lower right'

Las cadenas colocan la leyenda en el centro del borde correspondiente de los ejes/figura.'upper center', 'lower center', 'center left', 'center right'

La cadena 'center'coloca la leyenda en el centro de los ejes/figura.

La cadena 'best'coloca la leyenda en la ubicación, entre las nueve ubicaciones definidas hasta ahora, con la mínima superposición con otros artistas dibujados. Esta opción puede ser bastante lenta para gráficos con grandes cantidades de datos; su velocidad de trazado puede beneficiarse al proporcionar una ubicación específica.

La ubicación también puede ser una tupla de 2 que proporciona las coordenadas de la esquina inferior izquierda de la leyenda en coordenadas de ejes (en cuyo caso se ignorará bbox_to_anchor ).

Para compatibilidad con versiones anteriores, (pero ninguna otra ubicación) también se puede deletrear , y cada ubicación de "cadena" también se puede dar como un valor numérico:'center right''right'

Cadena de ubicación

Código de localización

'mejor'

0

'superior derecha'

1

'arriba a la izquierda'

2

'abajo a la izquierda'

3

'inferior derecha'

4

'Correcto'

5

'centro izquierda'

6

'centro derecha'

7

'centro inferior'

8

'centro superior'

9

'centro'

10

bbox_to_anchor BboxBase, 2 tuplas o 4 tuplas de flotantes

Caja que se utiliza para posicionar la leyenda en conjunto con loc . El valor predeterminado es axes.bbox(si se llama como un método para Axes.legend) o figure.bbox(si Figure.legend). Este argumento permite la ubicación arbitraria de la leyenda.

Las coordenadas de Bbox se interpretan en el sistema de coordenadas proporcionado por bbox_transform , con los ejes de transformación predeterminados o las coordenadas de la figura, dependiendo de cuál legendse llame.

Si se proporciona una tupla de 4 o BboxBase, entonces especifica el bbox en el que se coloca la leyenda. Para colocar la leyenda en la mejor ubicación en el cuadrante inferior derecho de los ejes (o figura):(x, y, width, height)

loc='best', bbox_to_anchor=(0.5, 0., 0.5, 0.5)

Una tupla de 2 coloca la esquina de la leyenda especificada por loc en x, y. Por ejemplo, para poner la esquina superior derecha de la leyenda en el centro de los ejes (o figura) se pueden utilizar las siguientes palabras clave:(x, y)

loc='upper right', bbox_to_anchor=(0.5, 0.5)
ncols int, predeterminado: 1

El número de columnas que tiene la leyenda.

Para compatibilidad con versiones anteriores, también se admite la ortografía ncol , pero no se recomienda. Si se dan ambos, ncols tiene prioridad.

prop Ninguno o matplotlib.font_manager.FontPropertieso dict

Las propiedades de fuente de la leyenda. Si Ninguno (predeterminado), matplotlib.rcParamsse utilizará la corriente.

tamaño de fuente int o {'xx-pequeño', 'x-pequeño', 'pequeño', 'mediano', 'grande', 'x-grande', 'xx-grande'}

El tamaño de letra de la leyenda. Si el valor es numérico el tamaño será el tamaño de letra absoluto en puntos. Los valores de cadena son relativos al tamaño de fuente predeterminado actual. Este argumento solo se usa si no se especifica prop .

labelcolor str o list, predeterminado: rcParams["legend.labelcolor"](predeterminado: 'None')

El color del texto en la leyenda. Una cadena de color válida (por ejemplo, 'rojo') o una lista de cadenas de color. El color de la etiqueta también se puede hacer para que coincida con el color de la línea o el marcador usando 'linecolor', 'markerfacecolor' (o 'mfc') o 'markeredgecolor' (o 'mec').

Labelcolor se puede configurar globalmente usando rcParams["legend.labelcolor"](predeterminado: 'None'). Si ninguno, use rcParams["text.color"](predeterminado: 'black').

numpoints int, predeterminado: rcParams["legend.numpoints"](predeterminado: 1)

El número de puntos de marcador en la leyenda al crear una entrada de leyenda para una Line2D(línea).

puntos de dispersión int, predeterminado: rcParams["legend.scatterpoints"](predeterminado: 1)

El número de puntos de marcador en la leyenda al crear una entrada de leyenda para un PathCollection(diagrama de dispersión).

scatteryoffsets iterable de flotantes, por defecto:[0.375, 0.5, 0.3125]

El desplazamiento vertical (relativo al tamaño de fuente) para los marcadores creados para una entrada de leyenda de gráfico de dispersión. 0.0 está en la base del texto de la leyenda y 1.0 está en la parte superior. Para dibujar todos los marcadores a la misma altura, establezca [0.5].

float de escala de marcador , predeterminado: rcParams["legend.markerscale"](predeterminado: 1.0)

El tamaño relativo de los marcadores de leyenda en comparación con los dibujados originalmente.

marcadorprimer booleano , por defecto: Verdadero

Si es True , el marcador de leyenda se coloca a la izquierda de la etiqueta de leyenda. Si es False , el marcador de leyenda se coloca a la derecha de la etiqueta de leyenda.

frameon bool, predeterminado: rcParams["legend.frameon"](predeterminado: True)

Si la leyenda debe dibujarse en un parche (marco).

fancybox bool, predeterminado: rcParams["legend.fancybox"](predeterminado: True)

Si se deben habilitar los bordes redondeados alrededor de lo FancyBboxPatchque constituye el fondo de la leyenda.

shadow bool, predeterminado: rcParams["legend.shadow"](predeterminado: False)

Ya sea para dibujar una sombra detrás de la leyenda.

framealpha flotante, predeterminado: rcParams["legend.framealpha"](predeterminado: 0.8)

La transparencia alfa del fondo de la leyenda. Si shadow está activado y framealpha es None, se ignora el valor predeterminado.

facecolor "heredar" o color, predeterminado: rcParams["legend.facecolor"](predeterminado: 'inherit')

El color de fondo de la leyenda. Si "inherit", use rcParams["axes.facecolor"](predeterminado: 'white').

edgecolor "heredar" o color, predeterminado: rcParams["legend.edgecolor"](predeterminado: '0.8')

El color del borde del parche de fondo de la leyenda. Si "inherit", use tomar rcParams["axes.edgecolor"](predeterminado: 'black').

modo {"expandir", Ninguno}

Si el modo se establece en "expand"la leyenda, se expandirá horizontalmente para llenar el área de los ejes (o bbox_to_anchor si define el tamaño de la leyenda).

bbox_transform Ninguno omatplotlib.transforms.Transform

La transformación del cuadro delimitador ( bbox_to_anchor ). Para un valor de None(predeterminado) transAxesse utilizará la transformación de los ejes.

título str o Ninguno

El título de la leyenda. El valor predeterminado es sin título ( None).

title_fontproperties Ninguno o matplotlib.font_manager.FontPropertieso dict

Las propiedades de fuente del título de la leyenda. Si es Ninguno (predeterminado), se usará el argumento title_fontsize si está presente; si title_fontsize también es Ninguno, se utilizará el actual rcParams["legend.title_fontsize"](predeterminado: None).

title_fontsize int o {'xx-pequeño', 'x-pequeño', 'pequeño', 'mediano', 'grande', 'x-grande', 'xx-grande'}, predeterminado: rcParams["legend.title_fontsize"](predeterminado: None)

El tamaño de fuente del título de la leyenda. Nota: Esto no se puede combinar con title_fontproperties . Si desea establecer el tamaño de fuente junto con otras propiedades de fuente, use el parámetro de tamaño en title_fontproperties .

alineación {'centro', 'izquierda', 'derecha'}, por defecto: 'centro'

La alineación del título de la leyenda y el cuadro de entradas. Las entradas están alineadas como un solo bloque, por lo que los marcadores siempre están alineados.

flotante de borderpad , predeterminado: rcParams["legend.borderpad"](predeterminado: 0.4)

El espacio en blanco fraccionario dentro del borde de la leyenda, en unidades de tamaño de fuente.

flotante de espacio de etiquetas , predeterminado: rcParams["legend.labelspacing"](predeterminado: 0.5)

El espacio vertical entre las entradas de la leyenda, en unidades de tamaño de fuente.

floatlongitud del mango, predeterminado: rcParams["legend.handlelength"](predeterminado: 2.0)

La longitud de los identificadores de la leyenda, en unidades de tamaño de fuente.

float de altura del mango , predeterminado: rcParams["legend.handleheight"](predeterminado: 0.7)

La altura de los identificadores de la leyenda, en unidades de tamaño de fuente.

handletextpad float, predeterminado: rcParams["legend.handletextpad"](predeterminado: 0.8)

El espacio entre el identificador de la leyenda y el texto, en unidades de tamaño de fuente.

borderaxespad float, predeterminado: rcParams["legend.borderaxespad"](predeterminado: 0.5)

El espacio entre los ejes y el borde de la leyenda, en unidades de tamaño de fuente.

flotante de espaciado de columnas , predeterminado: rcParams["legend.columnspacing"](predeterminado: 2.0)

El espaciado entre columnas, en unidades de tamaño de fuente.

handler_map dict o Ninguno

El diccionario personalizado asigna instancias o tipos a un controlador de leyenda. Este handler_map actualiza el mapa de controlador predeterminado que se encuentra en matplotlib.legend.Legend.get_legend_handler_map.

notas

Los usuarios pueden especificar cualquier ubicación arbitraria para la leyenda utilizando el argumento de palabra clave bbox_to_anchor . bbox_to_anchor puede ser un BboxBase(o derivado de él) o una tupla de 2 o 4 flotantes. Ver set_bbox_to_anchorpara más detalles.

La ubicación de la leyenda se puede especificar configurando loc con una tupla de 2 flotantes, que se interpreta como la esquina inferior izquierda de la leyenda en las coordenadas de los ejes normalizados.

códigos = {'mejor': 0, 'centro': 10, 'centro izquierda': 6, 'centro derecha': 7, 'centro inferior ': 8, 'inferior izquierda': 3, 'inferior derecha': 4, 'derecha': 5, 'superior central': 9, 'superior izquierda': 2, 'superior derecha': 1} #
contiene ( evento ) [fuente] #

Pruebe si el artista contiene el evento del ratón.

Parámetros :
evento del ratónmatplotlib.backend_bases.MouseEvent
Devoluciones :
contiene bool

Si hay valores dentro del radio.

dictado de detalles

Un diccionario de detalles del contexto del evento específico del artista, como qué puntos están contenidos en el radio de selección. Consulte las subclases de artistas individuales para obtener más detalles.

dibujar ( procesador ) [fuente] #

Dibuja al Artista (y sus hijos) usando el renderizador dado.

Esto no tiene efecto si el artista no está visible ( Artist.get_visible devuelve Falso).

Parámetros :
subclase de renderizador .RendererBase

notas

Este método se anula en las subclases de artista.

draw_frame ( b ) [fuente] #

Establezca si se dibuja el parche del cuadro de leyenda.

Parámetros :
b bool
get_alignment ( ) [fuente] #

Obtener el valor de alineación del cuadro de leyenda

get_bbox_to_anchor ( ) [fuente] #

Devuelve el bbox al que se anclará la leyenda.

get_child ( ) [fuente] #

Devuelve una lista de los hijos Artistde this Artist.

classmethod get_default_handler_map ( ) [fuente] #

Devuelve el mapa del controlador predeterminado global, compartido por todas las leyendas.

get_draggable ( ) [fuente] #

Regresa Truesi la leyenda se puede arrastrar, de Falselo contrario.

get_frame ( ) [fuente] #

Devuelve el Rectangleusado para enmarcar la leyenda.

get_frame_on ( ) [fuente] #

Obtenga si se dibuja el parche del cuadro de leyenda.

get_legend_handler estático ( legend_handler_map , orig_handle ) [fuente] #

Devuelve un controlador de leyenda de legend_handler_map que corresponde a orig_handler .

legend_handler_map debe ser un objeto de diccionario (que es devuelto por el método get_legend_handler_map).

Primero comprueba si el propio orig_handle es una clave en legend_handler_map y devuelve el valor asociado. De lo contrario, comprueba cada una de las clases en su orden de resolución de métodos. Si no se encuentra ninguna clave coincidente, devuelve None.

get_legend_handler_map ( ) [fuente] #

Devuelve el mapa del controlador de esta instancia de leyenda.

get_lines ( ) [fuente] #

Devuelve la lista de Line2Ds en la leyenda.

get_patches ( ) [fuente] #

Devuelve la lista de Patchs en la leyenda.

get_texts ( ) [fuente] #

Devuelve la lista de Texts en la leyenda.

get_tightbbox ( procesador = Ninguno ) [fuente] #

Me gusta Artist.get_window_extent, pero incluye cualquier recorte.

Parámetros :
subclase de renderizadorRendererBase

renderizador que se usará para dibujar las figuras (es decir, fig.canvas.get_renderer())

Devoluciones :
Bbox

El cuadro delimitador envolvente (en las coordenadas de píxeles de la figura).

get_title ( ) [fuente] #

Devuelve la Textinstancia para el título de la leyenda.

get_window_extent ( procesador = Ninguno ) [fuente] #

Obtenga el cuadro delimitador del artista en el espacio de visualización.

El ancho y la altura del cuadro delimitador no son negativos.

Las subclases deben anularse para su inclusión en el cálculo "ajustado" del cuadro delimitador. El valor predeterminado es devolver un cuadro delimitador vacío en 0, 0.

Tenga cuidado al usar esta función, los resultados no se actualizarán si cambia la extensión de la ventana del artista. La extensión puede cambiar debido a cualquier cambio en la pila de transformación, como cambiar los límites de los ejes, el tamaño de la figura o el lienzo utilizado (como se hace al guardar una figura). Esto puede provocar un comportamiento inesperado en el que las figuras interactivas se verán bien en la pantalla, pero se guardarán incorrectamente.

set ( * , agg_filter=<DESCONFIGURACIÓN> , alineación=<DESCONFIGURACIÓN> , alpha=<DESCONFIGURACIÓN> , animated=<DESCONFIGURACIÓN> , bbox_to_anchor=<DESCONFIGURACIÓN> , clip_box=<DESCONFIGURACIÓN> , clip_on=<DESCONFIGURACIÓN> , clip_path=<DESCONFIGURACIÓN > , draggable=<UNSET> , frame_on=<UNSET> , gid=<UNSET> , in_layout=<UNSET> , label=<UNSET> , mouseover=<UNSET> , ncols=<UNSET> , path_effects=<UNSET> , selector=<DESCONFIGURADO> ,rasterizado=<UNSET> ,sketch_params=<UNSET> , snap=<UNSET> , title=<UNSET> , transform=<UNSET> , url=<UNSET> , visible=<UNSET> , zorder=<UNSET> ) [fuente] #

Establece varias propiedades a la vez.

Las propiedades admitidas son

Propiedad

Descripción

agg_filter

una función de filtro, que toma una matriz flotante (m, n, 3) y un valor de ppp, y devuelve una matriz (m, n, 3) y dos compensaciones desde la esquina inferior izquierda de la imagen

alignment

{'centro', 'izquierda', 'derecha'}.

alpha

escalar o ninguno

animated

bool

bbox_to_anchor

BboxBaseo tupla

clip_box

Bbox

clip_on

bool

clip_path

Parchear o (Ruta, Transformar) o Ninguno

draggable

bool

figure

Figure

frame_on

bool

gid

calle

in_layout

bool

label

objeto

mouseover

bool

ncols

desconocido

path_effects

AbstractPathEffect

picker

Ninguno o bool o flotante o invocable

rasterized

bool

sketch_params

(escala: flotante, longitud: flotante, aleatoriedad: flotante)

snap

booleano o ninguno

title

calle

transform

Transform

url

calle

visible

bool

zorder

flotar

set_alignment ( alineación ) [fuente] #

Establezca la alineación del título de la leyenda y el cuadro de entradas.

Las entradas están alineadas como un solo bloque, por lo que los marcadores siempre están alineados.

Parámetros :
alineación {'centro', 'izquierda', 'derecha'}.
set_bbox_to_anchor ( bbox , transformar = Ninguno ) [fuente] #

Establezca el bbox al que se anclará la leyenda.

Parámetros :
bbox BboxBaseo tupla

El cuadro delimitador se puede especificar de las siguientes maneras:

  • una BboxBaseinstancia

  • Una tupla de en la transformación dada (coordenadas de ejes normalizados si no hay)(left, bottom, width, height)

  • Una tupla de donde se supondrá que el ancho y el alto son cero.(left, bottom)

  • None , para eliminar el anclaje de bbox y usar el bbox principal.

transformar Transform, opcional

Una transformación para aplicar al cuadro delimitador. Si no se especifica, utilizará una transformación en el cuadro delimitador del padre.

classmethod set_default_handler_map ( handler_map ) [fuente] #

Establezca el mapa de controlador predeterminado global, compartido por todas las leyendas.

set_draggable ( estado , use_blit = Falso , actualización = 'loc' ) [fuente] #

Habilite o deshabilite la compatibilidad con el arrastre del mouse de la leyenda.

Parámetros :
bool de estado

Si el arrastre del mouse está habilitado.

use_blit booleano , opcional

Use blitting para una composición de imagen más rápida. Para obtener más información, consulte FuncAnimation .

actualizar {'loc', 'bbox'}, opcional

El parámetro de la leyenda que se cambiará cuando se arrastre:

  • 'loc': actualiza el parámetro loc de la leyenda

  • 'bbox': actualiza el parámetro bbox_to_anchor de la leyenda

Devoluciones :
DraggableLegendo Ninguno

Si el estado es Trueesto, devuelve la DraggableLegendinstancia auxiliar. De lo contrario, esto devuelve Ninguno .

set_frame_on ( b ) [fuente] #

Establezca si se dibuja el parche del cuadro de leyenda.

Parámetros :
b bool
set_ncols ( ncols ) [fuente] #

Establecer el número de columnas.

set_title ( título , prop = Ninguno ) [fuente] #

Establezca el título de la leyenda y el estilo del título.

Parámetros :
título str

El título de la leyenda.

apoyo font_manager.FontPropertieso stropathlib.Path

Las propiedades de fuente del título de la leyenda. Si es un str, se interpreta como un patrón fontconfig analizado por FontProperties. Si es pathlib.Path, se interpreta como la ruta absoluta a un archivo de fuente.

classmethod update_default_handler_map ( handler_map ) [fuente] #

Actualice el mapa del controlador predeterminado global, compartido por todas las leyendas.

orden = 5 #