Legend in a "for loop"

2 views (last 30 days)
Paul Rogers
Paul Rogers on 10 Nov 2019
Commented: TADA on 11 Nov 2019
hi,
I need to insert a legend for each ii evalueted.
giri can change in size at every simulation.
for ii=1:length(giri)
figure(3);
plot(m(indice_m_0:loc(ii)),psic_pos(ii,indice_m_0:loc(ii)));
grid on
hold on
end

Answers (1)

Shubham Gupta
Shubham Gupta on 11 Nov 2019
Try :
for ii=1:length(giri)
figure(3);
plot(m(indice_m_0:loc(ii)),psic_pos(ii,indice_m_0:loc(ii)),'DisplayName',['ii = ',num2str(ii)]);
grid on
hold on
end
legend show
  5 Comments
Walter Roberson
Walter Roberson on 11 Nov 2019
figure(3);
for ii=1:length(giri)
plot(m(indice_m_0:loc(ii)),psic_pos(ii,indice_m_0:loc(ii)),'DisplayName',sprintf('giri = %g',giri(ii)));
grid on
hold on
end
legend show
Change the %g format to whatever you need.
TADA
TADA on 11 Nov 2019
probably because of an implicit conversion from double to char
maybe this would work:
plot(m(indice_m_0:loc(ii)),psic_pos(ii,indice_m_0:loc(ii)),'DisplayName',['giri = ', num2str(giri(ii))]);
next time it would be better if you attach the data, without sample data helping you is pretty much guesswork...

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!