Automatic change of legend's arguments

1 view (last 30 days)
Let's consider this example:
labels = {'A','B','C'};
hold on
for i = [1 2 3]
h(i) = plot(rand(10,1));
end
legend([h(1),h(2),h(3)],labels);
Now, I would like to plot only the first and the second plots, i.e.
hold on
for i = [1 3]
h(i) = plot(rand(10,1));
end
legend([h(1),h(3)],labels);
Is there any automatic way to change the legend from
legend([h(1),h(2),h(3)],labels);
to
legend([h(1),h(3)],labels);
?
Basically, I just want to change the index of the plots
i = [1 3]
and get the correct labels.

Accepted Answer

Les Beckham
Les Beckham on 5 Oct 2022
Edited: Les Beckham on 5 Oct 2022
labels = {'A','B','C'};
for i = [1 3]
h(i) = plot(rand(10,1), 'DisplayName', labels{i});
hold on
end
grid on
legend

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by