Main Content

legend

Añadir una leyenda a los ejes

Descripción

ejemplo

legend crea una leyenda con etiquetas descriptivas para cada serie de datos representada. En las etiquetas, la leyenda usa el texto de las propiedades DisplayName de la serie de datos. Si la propiedad DisplayName está vacía, la leyenda utilizará una etiqueta con la forma 'dataN'. La leyenda se actualiza automáticamente al añadir o eliminar series de datos de los ejes. Este comando crea una leyenda en los ejes actuales, que es devuelta por el comando gca. Si los ejes actuales están vacíos, la leyenda está vacía. Si no existe ningún eje, legend crea unos ejes cartesianos.

ejemplo

legend(label1,...,labelN) establece las etiquetas de la leyenda. Especifique las etiquetas como una lista de vectores de caracteres o cadenas, como legend('Jan','Feb','Mar').

legend(labels) establece las etiquetas usando un arreglo de celdas de vectores de caracteres, un arreglo de cadenas o una matriz de caracteres, como legend({'Jan','Feb','Mar'}).

ejemplo

legend(subset,___) solo incluye elementos en la leyenda para las series de datos enumeradas en subset. Especifique subset como un vector de objetos de gráficas. Puede especificar subset antes de especificar las etiquetas o sin otros argumentos de entrada.

ejemplo

legend(target,___) utiliza los ejes o la visualización independiente que especifica target en lugar de los ejes actuales. Especifique el objetivo como el primer argumento de entrada.

ejemplo

legend(___,'Location',lcn) establece la ubicación de la leyenda. Por ejemplo, 'Location','northeast' coloca la leyenda en la esquina superior derecha de los ejes. Especifique la ubicación después de otros argumentos de entrada.

ejemplo

legend(___,'Orientation',ornt), donde ornt es 'horizontal', muestra los elementos de la leyenda uno al lado de otro. El valor predeterminado de ornt es 'vertical', que apila los elementos verticalmente.

ejemplo

legend(___,Name,Value) establece las propiedades de la leyenda utilizando uno o más argumentos de par nombre-valor.

ejemplo

legend(bkgd), donde bkgd es 'boxoff', elimina el fondo y el contorno de la leyenda. El valor predeterminado de bkgd es 'boxon', que muestra el fondo y el contorno de la leyenda.

lgd = legend(___) devuelve el objeto Legend. Use lgd para consultar y establecer las propiedades de la leyenda después de crearla. Para obtener una lista de las propiedades, consulte Legend Properties.

legend(vsbl) controla la visibilidad de la leyenda, donde vsbl es 'hide', 'show' o 'toggle'.

legend('off') elimina la leyenda.

Ejemplos

contraer todo

Represente dos líneas y añada una leyenda a los ejes actuales. Especifique las etiquetas de la leyenda como argumentos de entrada para la función legend.

x = linspace(0,pi);
y1 = cos(x);
plot(x,y1)

hold on 
y2 = cos(2*x);
plot(x,y2)

legend('cos(x)','cos(2x)')

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent cos(x), cos(2x).

Si añade o elimina una serie de datos de los ejes, la leyenda se actualiza en consecuencia. Controle la etiqueta para la nueva serie de datos estableciendo la propiedad DisplayName como un par nombre-valor al crearla. Si no especifica una etiqueta, la leyenda usa una etiqueta con la forma 'dataN'.

Nota: Si no desea que la leyenda se actualice automáticamente cuando se añadan o se eliminen series de datos de los ejes, establezca la propiedad AutoUpdate de la leyenda en 'off'.

y3 = cos(3*x);
plot(x,y3,'DisplayName','cos(3x)')
hold off

Figure contains an axes object. The axes object contains 3 objects of type line. These objects represent cos(x), cos(2x), cos(3x).

Elimine la leyenda.

legend('off')

Figure contains an axes object. The axes object contains 3 objects of type line. These objects represent cos(x), cos(2x), cos(3x).

A partir de la versión R2019b, puede mostrar un mosaico de gráficas utilizando las funciones tiledlayout y nexttile. Llame a la función tiledlayout para crear un diseño de gráfica en mosaico de 2 por 1. Llame a la función nexttile para crear los objetos de ejes ax1 y ax2. Represente datos aleatorios en cada eje. Añada una leyenda a la gráfica superior especificando ax1 como el primer argumento de entrada para legend.

tiledlayout(2,1)
y1 = rand(3);
ax1 = nexttile; 
plot(y1)

y2 = rand(5);
ax2 = nexttile; 
plot(y2)

legend(ax1,{'Line 1','Line 2','Line 3'})

Figure contains 2 axes objects. Axes object 1 contains 3 objects of type line. These objects represent Line 1, Line 2, Line 3. Axes object 2 contains 5 objects of type line.

Represente dos líneas. Especifique las etiquetas de la leyenda durante los comandos de representación estableciendo la propiedad DisplayName en el texto deseado. Después, añada una leyenda.

x = linspace(0,pi);
y1 = cos(x);
plot(x,y1,'DisplayName','cos(x)')

hold on 
y2 = cos(2*x);
plot(x,y2,'DisplayName','cos(2x)')
hold off

legend

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent cos(x), cos(2x).

Para excluir una línea de la leyenda, especifique su etiqueta como un vector de caracteres vacío o una cadena vacía. Por ejemplo, represente dos ondas sinusoidales y añada una línea cero discontinua llamando a la función yline. Después, cree una leyenda y excluya la línea cero especificando su etiqueta como ''.

x = 0:0.2:10;
plot(x,sin(x),x,sin(x+1));
hold on
yline(0,'--')
legend('sin(x)','sin(x+1)','')

Figure contains an axes object. The axes object contains 3 objects of type line, constantline. These objects represent sin(x), sin(x+1).

Represente cuatro líneas. Cree una leyenda en la parte noroeste de los ejes. Especifique el número de columnas de la leyenda utilizando la propiedad NumColumns.

x = linspace(0,pi);
y1 = cos(x);
plot(x,y1)

hold on
y2 = cos(2*x);
plot(x,y2)

y3 = cos(3*x);
plot(x,y3)

y4 = cos(4*x);
plot(x,y4)
hold off

legend({'cos(x)','cos(2x)','cos(3x)','cos(4x)'},...
    'Location','northwest','NumColumns',2)

Figure contains an axes object. The axes object contains 4 objects of type line. These objects represent cos(x), cos(2x), cos(3x), cos(4x).

De forma predeterminada, la leyenda ordena los elementos de arriba abajo en cada columna. Para ordenar los elementos de izquierda a derecha en cada fila, establezca la propiedad Orientation en 'horizontal'.

Desde R2023b

Puede invertir el orden de los elementos de la leyenda estableciendo la propiedad Direction de la leyenda. Por ejemplo, represente cuatro líneas y añada una leyenda.

plot([4 5 6 7; 0 1 2 3])
lgd = legend("First","Second","Third","Fourth");

Figure contains an axes object. The axes object contains 4 objects of type line. These objects represent First, Second, Third, Fourth.

Invierta el orden de los elementos de la leyenda.

lgd.Direction = "reverse";

Figure contains an axes object. The axes object contains 4 objects of type line. These objects represent First, Second, Third, Fourth.

Cuando desee compartir una leyenda entre dos o más gráficas, puede mostrar la leyenda en un mosaico separado del diseño. Puede colocar la leyenda dentro de la cuadrícula de mosaicos o en un mosaico exterior.

Cree tres gráficas en un diseño de gráfica en mosaico.

t = tiledlayout('flow','TileSpacing','compact');
nexttile
plot(rand(5))
nexttile
plot(rand(5))
nexttile
plot(rand(5))

Figure contains 3 axes objects. Axes object 1 contains 5 objects of type line. Axes object 2 contains 5 objects of type line. Axes object 3 contains 5 objects of type line.

Añada una leyenda compartida y muévala al cuarto mosaico.

lgd = legend;
lgd.Layout.Tile = 4;

Figure contains 3 axes objects. Axes object 1 contains 5 objects of type line. Axes object 2 contains 5 objects of type line. Axes object 3 contains 5 objects of type line.

Después, añada una cuarta gráfica y mueva la leyenda al mosaico este.

nexttile
plot(rand(5))
lgd.Layout.Tile = 'east';

Figure contains 4 axes objects. Axes object 1 contains 5 objects of type line. Axes object 2 contains 5 objects of type line. Axes object 3 contains 5 objects of type line. Axes object 4 contains 5 objects of type line.

Si no desea incluir todos los objetos de gráficas representados en la leyenda, puede especificar los objetos de gráficas que desea incluir.

Represente tres líneas y devuelva los objetos Line creados. Cree una leyenda que incluya solo dos de las líneas. Especifique el primer argumento de entrada como vector de los objetos Line que se desea incluir.

x = linspace(0,pi);
y1 = cos(x);
p1 = plot(x,y1);

hold on
y2 = cos(2*x);
p2 = plot(x,y2);

y3 = cos(3*x);
p3 = plot(x,y3);
hold off

legend([p1 p3],{'First','Third'})

Figure contains an axes object. The axes object contains 3 objects of type line. These objects represent First, Third.

Cree una gráfica y añada una leyenda con marcado LaTeX llamando a la función legend y estableciendo la propiedad Interpreter en 'latex'. Rodee el marcado con símbolos de dólar ($).

x = 0:0.1:10;
y = sin(x);
dy = cos(x);
plot(x,y,x,dy);
legend('$sin(x)$','$\frac{d}{dx}sin(x)$','Interpreter','latex');

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent $sin(x)$, $\frac{d}{dx}sin(x)$.

Represente dos líneas y cree una leyenda. Después, añada un título a la leyenda.

x = linspace(0,pi);
y1 = cos(x);
plot(x,y1)

hold on
y2 = cos(2*x);
plot(x,y2)
hold off

lgd = legend('cos(x)','cos(2x)');
title(lgd,'My Legend Title')

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent cos(x), cos(2x).

Represente dos líneas y cree una leyenda en la esquina inferior izquierda de los ejes. Después, elimine el fondo y el contorno de la leyenda.

x = linspace(0,pi);
y1 = cos(x);
plot(x,y1)

hold on
y2 = cos(2*x);
plot(x,y2)
hold off

legend({'cos(x)','cos(2x)'},'Location','southwest')
legend('boxoff')

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent cos(x), cos(2x).

Puede cambiar distintos aspectos de una leyenda estableciendo propiedades. Puede establecer estas propiedades especificando argumentos nombre-valor cuando llame a legend, o puede establecer las propiedades del objeto Legend después de llamar a legend.

Represente cuatro líneas de datos aleatorios. Cree una leyenda y asigne el objeto Legend a la variable lgd. Establezca las propiedades FontSize y TextColor usando argumentos nombre-valor.

rdm = rand(4);
plot(rdm)

lgd = legend({'Line 1','Line 2','Line 3','Line 4'},...
    'FontSize',12,'TextColor','blue');

Figure contains an axes object. The axes object contains 4 objects of type line. These objects represent Line 1, Line 2, Line 3, Line 4.

Modifique la leyenda después de crearla refiriéndose al valor lgd. Establezca la propiedad NumColumns utilizando la notación objeto-punto-nombre de propiedad.

lgd.NumColumns = 2;

Figure contains an axes object. The axes object contains 4 objects of type line. These objects represent Line 1, Line 2, Line 3, Line 4.

Argumentos de entrada

contraer todo

Etiquetas, especificadas como una lista de vectores de caracteres o cadenas separada por comas.

Para excluir un elemento de la leyenda, especifique la etiqueta correspondiente como un vector de caracteres vacío o una cadena vacía.

Para incluir caracteres especiales o letras griegas en las etiquetas, utilice el marcado TeX o LaTeX. Para ver una tabla de opciones, consulte la propiedad Interpreter.

Para especificar las etiquetas que son palabras clave, como 'Location' u 'off', utilice un arreglo de celdas de vectores de caracteres, un arreglo de cadenas o un arreglo de caracteres.

Ejemplo: legend('Sin Function','Cos Function')

Ejemplo: legend("Sin Function","Cos Function")

Ejemplo: legend("Sample A","","Sample C")

Ejemplo: legend('\gamma','\sigma')

Etiquetas, especificadas como arreglo de celdas de vectores de caracteres, arreglo de cadenas o arreglo categórico.

Para excluir un elemento de la leyenda, especifique la etiqueta correspondiente como un vector de caracteres vacío en el arreglo de celdas o como una cadena vacía en el arreglo de cadenas.

Para incluir caracteres especiales o letras griegas en las etiquetas, utilice el marcado TeX o LaTeX. Para ver una tabla de opciones, consulte la propiedad Interpreter.

Ejemplo: legend({'Sin Function','Cos Function'})

Ejemplo: legend(["Sin Function","Cos Function"])

Ejemplo: legend({'Sample A','','Sample C'})

Ejemplo: legend({'\gamma','\sigma'})

Ejemplo: legend(categorical({'Alabama','New York'}))

Serie de datos que se desea incluir en la leyenda, especificada como vector de objetos de gráficas.

Objetivo de la leyenda, especificado como objeto Axes, objeto PolarAxes, objeto GeographicAxes o visualización independiente con una propiedad LegendVisible, como un objeto GeographicBubbleChart. Si no se especifica el objetivo, la función legend utiliza el objeto devuelto por el comando gca como objetivo.

Las visualizaciones independientes no admiten modificar la apariencia de la leyenda, como la ubicación, ni devolver el objeto Legend como un argumento de salida.

Ubicación de la leyenda con respecto a los ejes, especificada como uno de los valores de ubicación enumerados en esta tabla.

ValorDescripción
'north'Dentro de la parte superior de los ejes
'south'Dentro de la parte inferior de los ejes
'east'Dentro de la parte derecha de los ejes
'west'Dentro de la parte izquierda de los ejes
'northeast'Dentro de la parte superior derecha de los ejes (opción predeterminada para ejes 2D)
'northwest'Dentro de la parte superior izquierda de los ejes
'southeast'Dentro de la parte inferior derecha de los ejes
'southwest'Dentro de la parte inferior izquierda de los ejes
'northoutside'Encima de los ejes
'southoutside'Debajo de los ejes
'eastoutside'A la derecha de los ejes
'westoutside'A la izquierda de los ejes
'northeastoutside'Fuera de la esquina superior derecha de los ejes (opción predeterminada para ejes 3D)
'northwestoutside'Fuera de la esquina superior izquierda de los ejes
'southeastoutside'Fuera de la esquina inferior derecha de los ejes
'southwestoutside'Fuera de la esquina inferior izquierda de los ejes
'best'Dentro de los ejes donde se generan menos conflictos con los datos de la gráfica en el momento en el que se crea la leyenda. Si los datos de la gráfica cambian, podría necesitar restablecer la ubicación a 'best'.
'bestoutside'Fuera de la esquina superior derecha de los ejes (cuando la leyenda tenga una orientación vertical) o debajo de los ejes (cuando la leyenda tenga una orientación horizontal)
'layout'Un mosaico en un diseño de gráfica en mosaico. Para mover la leyenda a un mosaico diferente, establezca la propiedad Layout de la leyenda.
'none'Determinado por la propiedad Position. Utilice la propiedad Position para mostrar la leyenda en una ubicación personalizada.

Ejemplo: legend('Location','northeastoutside')

Orientación, especificada como uno de estos valores:

  • 'vertical': apila los elementos de la leyenda verticalmente.

  • 'horizontal': coloca los elementos de la leyenda uno al lado del otro en una lista.

Ejemplo: legend('Orientation','horizontal')

Visualización del cuadro de la leyenda, especificada como uno de estos valores:

  • 'boxon': se muestran el fondo y el contorno de la leyenda.

  • 'boxoff': no se muestran el fondo y el contorno de la leyenda.

Ejemplo: legend('boxoff')

Visibilidad de la leyenda, especificada como uno de estos valores:

  • 'hide': se oculta la leyenda.

  • 'show': se muestra la leyenda o se crea una leyenda si no existiera ninguna.

  • 'toggle': se activa y desactiva la visibilidad de la leyenda.

Ejemplo: legend('hide')

Argumentos de par nombre-valor

Especifique pares opcionales de argumentos como Name1=Value1,...,NameN=ValueN, donde Name es el nombre del argumento y Value es el valor correspondiente. Los argumentos nombre-valor deben aparecer después de otros argumentos, pero el orden de los pares no importa.

En las versiones anteriores a R2021a, utilice comas para separar cada nombre y valor, y encierre Name entre comillas.

Ejemplo: legend({'A','B'},'TextColor','blue','FontSize',12) crea una leyenda con fuente azul de 12 puntos.

Nota

Las propiedades que se enumeran aquí son solo un subconjunto. Para obtener una lista completa, consulte Legend Properties.

Color del texto, especificado como triplete RGB, código de color hexadecimal, nombre de color o nombre corto. El color predeterminado es negro con un valor de [0 0 0].

Para definir un color personalizado, especifique un triplete RGB o un código de color hexadecimal.

  • Un triplete RGB es un vector fila de tres elementos, cuyos elementos especifican las intensidades de los componentes rojo, verde y azul del color. Las intensidades deben estar en el rango [0,1], por ejemplo [0.4 0.6 0.7].

  • Un código de color hexadecimal es un escalar de cadena o un vector de caracteres que comienza con el símbolo de almohadilla (#) seguido de tres o seis dígitos hexadecimales, que pueden oscilar entre 0 y F. Los valores no distinguen entre mayúsculas y minúsculas. Por lo tanto, los códigos de color "#FF8800", "#ff8800", "#F80" y "#f80" son equivalentes.

Como alternativa, puede especificar algunos colores frecuentes por su nombre. En esta tabla se enumeran las opciones de color con su nombre, los tripletes RGB equivalentes y los códigos de color hexadecimales.

Nombre del colorNombre cortoTriplete RGBCódigo de color hexadecimalApariencia
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

"none"No se aplicaNo se aplicaNo se aplicaSin color

A continuación, se indican los tripletes RGB y los códigos de color hexadecimales de los colores predeterminados que MATLAB® utiliza en muchos tipos de gráficas.

Triplete RGBCódigo de color hexadecimalApariencia
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

Ejemplo: [0 0 1]

Ejemplo: 'blue'

Ejemplo: '#0000FF'

Tamaño de la fuente, especificado como valor escalar mayor que cero en unidades de punto. El tamaño de fuente predeterminado depende del sistema operativo específico y de la configuración local.

Si cambia el tamaño de la fuente de los ejes, MATLAB establece automáticamente el tamaño de la fuente de la barra de colores al 90% del tamaño de fuente de los ejes. Si establece manualmente el tamaño de la fuente de la barra de colores, cambiar el tamaño de la fuente de los ejes no afectará a la fuente de la barra de colores.

Número de columnas, especificado como entero positivo. Si no hay suficientes elementos en la leyenda para llenar el número especificado de columnas, podría aparecer un número de columnas menor.

Use la propiedad Orientation para controlar si los elementos de la leyenda aparecen en orden a lo largo de cada columna o de cada fila.

Ejemplo: lgd.NumColumns = 3

Argumentos de salida

contraer todo

Objeto Legend. Use lgd para ver o modificar las propiedades de la leyenda después de crearla.

plot(rand(3))
lgd = legend('line1','line2','line3');
lgd.FontSize = 12;
lgd.FontWeight = 'bold';

Sugerencias

  • Para etiquetar más de 50 objetos en la leyenda, especifique una etiqueta para cada uno. De lo contrario, legend representa solo los primeros 50 objetos de la gráfica.

Algoritmos

  • Recuperando la función legend no se restablecen las propiedades de leyenda, como la ubicación o la orientación. Si existe una leyenda, la función legend actualiza la leyenda existente. Un objeto Axes puede tener solo una leyenda.

  • La leyenda refleja la visibilidad de los objetos de gráficas en los ejes. Los objetos de gráficas que tienen una propiedad Visible establecida en 'off' aparecen como elementos destacados en color gris en la leyenda.

Historial de versiones

Introducido antes de R2006a

expandir todo

Consulte también

Funciones

Propiedades