Need legend for lines plotted with different style in for loop and if statement

1 Ansicht (letzte 30 Tage)
clear
f=figure;
x = 1:0.01:10; %ft
k = 1:10;
b = 1:10;
cmap = colormap(cool(length(k)));
for ii = 1:length(k)
p1=plot(x,sl(x,k(ii),b(ii)),'-','LineWidth',3,'Color',cmap(ii,:))
hold on
if(ii>5&&ii<7)
p2=plot(x,sl(x,k(ii)+0.1,b(ii)+0.1),'--','LineWidth',3,'Color',"red")
hold on
end
end
hold on
hold off
axis tight
grid on
legend([p1 p2],'1','2','3','4','5','6 special','7','8','9','10','11','Location','eastoutside')
legend show
function y = sl(x,k,b)
y = k*x+b;
end
It only have two legend, need help here, thank you!

Antworten (1)

Adam Drake
Adam Drake am 21 Feb. 2023
Bearbeitet: Adam Drake am 21 Feb. 2023
clear
f = figure;
x = 1:0.01:10; %ft
k = 1:10;
b = 1:10;
cmap = colormap(cool(length(k)));
count = 1;
for ii = 1:length(k)
p1(count) = plot(x,sl(x,k(ii),b(ii)),'-','LineWidth',3,'Color',cmap(ii,:));
count = count + 1;
hold on
if( ii > 5 && ii < 7)
p1(count) = plot(x,sl(x,k(ii)+0.1,b(ii)+0.1),'--','LineWidth',3,'Color',"red");
count = count + 1;
end
end
hold off
axis tight
grid on
legend(p1,'1','2','3','4','5','6','6 special','7','8','9','10','Location','eastoutside')
function y = sl(x,k,b)
y = k * x + b;
end
  5 Kommentare
Adam Drake
Adam Drake am 13 Mär. 2023
Could you please accept this answer if it answered your problem.

Melden Sie sich an, um zu kommentieren.

Tags

Produkte


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by