matplotlib.axes.Axes.leyenda #
- hachas leyenda ( * argumentos , ** kwargs ) [fuente] #
Coloque una leyenda en los ejes.
Firmas de llamada:
legend() legend(handles, labels) legend(handles=handles) legend(labels)
Las firmas de llamada corresponden a las siguientes formas diferentes de utilizar este método:
1. Detección automática de elementos a mostrar en la leyenda
Los elementos que se agregarán a la leyenda se determinan automáticamente, cuando no pasa ningún argumento adicional.
En este caso, las etiquetas se toman del artista. Puede especificarlos en la creación del artista o llamando al
set_label()
método en el artista:ax.plot([1, 2, 3], label='Inline label') ax.legend()
o:
line, = ax.plot([1, 2, 3]) line.set_label('Label via method') ax.legend()
Nota
Se pueden excluir artistas específicos de la selección automática de elementos de la leyenda mediante el uso de una etiqueta que comience con un guión bajo, "_". Una cadena que comienza con un guión bajo es la etiqueta predeterminada para todos los artistas, por lo que llamar
Axes.legend
sin ningún argumento y sin configurar las etiquetas manualmente dará como resultado que no se dibuje ninguna leyenda.2. Listar explícitamente a los artistas y sellos discográficos en la leyenda
Para un control total de qué artistas tienen una entrada de leyenda, es posible pasar una iteración de artistas de leyenda seguida de una iteración de etiquetas de leyenda, respectivamente:
ax.legend([line1, line2, line3], ['label1', 'label2', 'label3'])
3. Listar explícitamente a los artistas en la leyenda
Esto es similar a 2, pero las etiquetas se toman de las propiedades de las etiquetas de los artistas. Ejemplo:
line1, = ax.plot([1, 2, 3], label='label1') line2, = ax.plot([1, 2, 3], label='label2') ax.legend(handles=[line1, line2])
4. Etiquetado de elementos de trama existentes
Desanimado
Se desaconseja esta firma de llamada, porque la relación entre los elementos de la trama y las etiquetas solo está implícita en su orden y puede confundirse fácilmente.
Para crear una leyenda para todos los artistas en un eje, llame a esta función con una iteración de cadenas, una para cada elemento de la leyenda. Por ejemplo:
ax.plot([1, 2, 3]) ax.plot([5, 6, 7]) ax.legend(['First line', 'Second line'])
- Parámetros :
- maneja la secuencia de
Artist
, opcional Una lista de artistas (líneas, parches) para agregar a la leyenda. Úselo junto con las etiquetas , si necesita un control total sobre lo que se muestra en la leyenda y el mecanismo automático descrito anteriormente no es suficiente.
La longitud de las asas y las etiquetas debe ser la misma en este caso. Si no lo son, se truncan a la longitud más pequeña.
- lista de etiquetas de str, opcional
Una lista de etiquetas para mostrar junto a los artistas. Úselo junto con las manijas , si necesita un control total sobre lo que se muestra en la leyenda y el mecanismo automático descrito anteriormente no es suficiente.
- maneja la secuencia de
- Devoluciones :
- 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 paraAxes.legend
) ofigure.bbox
(siFigure.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
legend
se 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.FontProperties
o dict Las propiedades de fuente de la leyenda. Si Ninguno (predeterminado),
matplotlib.rcParams
se 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, usercParams["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
FancyBboxPatch
que 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"
, usercParams["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 tomarrcParams["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 o
matplotlib.transforms.Transform
La transformación del cuadro delimitador ( bbox_to_anchor ). Para un valor de
None
(predeterminado)transAxes
se 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.FontProperties
o 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
.
- loc str o par de flotadores, predeterminado:
Ver también
notas
Algunos artistas no son compatibles con esta función. Consulte la guía Leyenda para obtener más detalles.
Ejemplos
( Código fuente , png )
Ejemplos usando matplotlib.axes.Axes.legend
#
![Gráficos de dispersión con símbolos personalizados](/stable/_images/sphx_glr_scatter_custom_symbol_thumb.png)
Gráficos de dispersión con símbolos personalizados
![Trazar una elipse de confianza de un conjunto de datos bidimensional](/stable/_images/sphx_glr_confidence_ellipse_thumb.png)
Trazar una elipse de confianza de un conjunto de datos bidimensional
![Uso de histogramas para trazar una distribución acumulativa](/stable/_images/sphx_glr_histogram_cumulative_thumb.png)
Uso de histogramas para trazar una distribución acumulativa
![La función de histograma (hist) con múltiples conjuntos de datos](/stable/_images/sphx_glr_histogram_multihist_thumb.png)
La función de histograma (hist) con múltiples conjuntos de datos
![Representación de ecuaciones matemáticas usando TeX](/stable/_images/sphx_glr_tex_demo_thumb.png)
Representación de ecuaciones matemáticas usando TeX
![Formateador de ticks personalizado para series temporales](/stable/_images/sphx_glr_date_index_formatter_thumb.png)
Formateador de ticks personalizado para series temporales