How to hide or delete the legend that is not needed

26 vues (au cours des 30 derniers jours)
Terence
Terence le 15 Fév 2021
Commenté : Terence le 15 Fév 2021
FYI, please see the attached figure.
My aim is to hide or delete the legend data1, data2 and data3, to be like this figure.
Thanks!
  2 commentaires
Cris LaPierre
Cris LaPierre le 15 Fév 2021
Share the code you use to create and format your figure.
Terence
Terence le 15 Fév 2021
for it=1
plot(lv,reag(it,:),'color',[0 0.4470 0.7410],'LineWidth',LineWidth, 'DisplayName','Mode 1,Analytical,UD');
end
for it=2
plot(lv,reag(it,:),'color',[0 0.4470 0.7410],'LineWidth',LineWidth);
end
for it=3
plot(lv,reag(it,:),'color',[0.8500 0.3250 0.0980],'LineWidth',LineWidth,'DisplayName','Mode 2,Analytical,UD');
end
for it=4
plot(lv,reag(it,:),'color',[0.8500 0.3250 0.0980],'LineWidth',LineWidth);
end
for it=5
plot(lv,reag(it,:),'color',[0.9290 0.6940 0.1250],'LineWidth',LineWidth,'DisplayName','Mode 3,Analytical,UD');
end
for it=6
plot(lv,reag(it,:),'color',[0.9290 0.6940 0.1250],'LineWidth',LineWidth');
end
lgd = legend;
lgd.NumColumns = 1;
legend('boxoff')

Connectez-vous pour commenter.

Réponse acceptée

Cris LaPierre
Cris LaPierre le 15 Fév 2021
Modifié(e) : Cris LaPierre le 15 Fév 2021
Use line objects as inputs to legend, telling it which lines to include in the legend.
x=1:10;
y=@(x,a)((x-5)/a).^2;
p1 = plot(x,y(x,1),'DisplayName','Mode 1,Analytical,UD');
hold on
plot(x,y(x,1.1));
p2 = plot(x,y(x,2),'DisplayName','Mode 2,Analytical,UD');
plot(x,y(x,2.2));
p3 = plot(x,y(x,3),'DisplayName','Mode 3,Analytical,UD');
plot(x,y(x,3.3))
hold off
legend([p1,p2,p3])

Plus de réponses (1)

Image Analyst
Image Analyst le 15 Fév 2021
Try getting rid of the for loops, which essentially do nothing:
plot(lv,reag(1,:),'color',[0 0.4470 0.7410],'LineWidth',LineWidth, 'DisplayName','Mode 1,Analytical,UD');
hold on;
plot(lv,reag(2,:),'color',[0 0.4470 0.7410],'LineWidth',LineWidth);
plot(lv,reag(3,:),'color',[0.8500 0.3250 0.0980],'LineWidth',LineWidth,'DisplayName','Mode 2,Analytical,UD');
plot(lv,reag(4,:),'color',[0.8500 0.3250 0.0980],'LineWidth',LineWidth);
plot(lv,reag(5,:),'color',[0.9290 0.6940 0.1250],'LineWidth',LineWidth,'DisplayName','Mode 3,Analytical,UD');
plot(lv,reag(6,:),'color',[0.9290 0.6940 0.1250],'LineWidth',LineWidth');
legend({'1', '2', '3', '4', '5', '6'})

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by