Saltar al contenido

¿Cómo agrego dos leyendas a un solo gráfico en MATLAB?

Este equipo de trabajo ha pasado mucho tiempo investigando respuestas a tu búsqueda, te brindamos la respuestas de modo que nuestro deseo es serte de mucha apoyo.

Podría crear un segundo eje superpuesto, con una leyenda propia (en una ubicación diferente, por supuesto).


EDITAR:

Aquí hay un ejemplo rápido:

%# create some plot with a legend
hAx(1) = axes();
hLine(1) = plot(1:10, 'Parent',hAx(1));
set(hAx(1), 'Box','off')
legend(hLine(1), 'line')

%# copy the axis
hAx(2) = copyobj(hAx(1),gcf);
delete( get(hAx(2),'Children') )            %# delete its children
hLine(2) = plot(sin(1:10), 'Color','r', 'Parent',hAx(2));
set(hAx(2), 'Color','none', 'XTick',[], ...
    'YAxisLocation','right', 'Box','off')   %# make it transparent
legend(hLine(2), 'curve', 'Location','NorthWest', 'Color','w')

captura de pantalla

Para crear una leyenda adhesiva, puede llamar copyobj

handle_legend = legend(handle_plot, 'string1');
copyobj(handle_legend, handle_figure);

los copyobj función simplemente conserva su leyenda asociada dentro de la figura.

Esto funciona dentro de un solo eje (no es necesario crear un segundo eje superpuesto), y de esta manera se pueden agregar varias leyendas.

Ejemplo:

%declare figure
hfigure = figure('Color', 'w');

%plot 2 lines (red and blue)
hplot1 = plot(1:10,'r-.x');
hold on;
hplot2 = plot(10:-1:1,'b--o');

%plot legends
hlegend1 = legend(hplot1, 'Data 1', 'Location','East'); %display legend 1
new_handle = copyobj(hlegend1,hfigure);                 %copy legend 1 --> retain
legend(hplot2, 'Data 2', 'Location','West');            %display legend 2

ingrese la descripción de la imagen aquí

Valoraciones y reseñas

Te invitamos a añadir valor a nuestro contenido informacional aportando tu experiencia en las observaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 5)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *