Effacer les filtres
Effacer les filtres

Legend inside for loop

3 vues (au cours des 30 derniers jours)
danel james
danel james le 4 Août 2022
Commenté : Walter Roberson le 4 Août 2022
Hello,
I want to generate single legend outside for the figure window for all subplots. I am doing plots inside a loop like this:
t,x and y are given datas
for i=1:10
figure()
subplot(2,2,i)
plot(x,y)
hold on
plot(t,y)
subplot(2,2,i)
plot(x,y-y')
hold on
% ........
legend('1','2,','3')
end
But i am still getting the legend on all plots.
any help is appreciated
Dan
  6 commentaires
danel james
danel james le 4 Août 2022
Unfortunatley this method is not working for me, dear KSSV

Connectez-vous pour commenter.

Réponses (1)

Walter Roberson
Walter Roberson le 4 Août 2022
for i=1:10
figure()
subplot(2,2,i)
H(3*i-2) = plot(x, y, 'displayname', i + "A");
hold on
H(3*i-1) = plot(t, y, 'displayname', i + "B");
subplot(2,2,i)
H(3*i) = plot(x, y-y', 'displayname', i + "C");
hold on
% ........
end
legend(H)
Are you wanting only 3 entries in the legend, total? If so then you would want to be explicit about the line colors, and you would legend(H(1:3))
  4 commentaires
danel james
danel james le 4 Août 2022
I used your code to modify mine and its giving me this :
Error using legend (line 272)
Invalid argument. Type 'help legend' for more
information.
Error in single_legend (line 122)
legend(H)
Walter Roberson
Walter Roberson le 4 Août 2022
x = 1:10; y = rand(size(x));
for i=1:10
subplot(2,5,i)
H(3*i-2) = plot(x, y, 'displayname', i + "A");
hold on
H(3*i-1) = plot(x, y, 'displayname', i + "B");
H(3*i) = plot(x, y-y', 'displayname', i + "C");
hold off
% ........
end
Unable to perform assignment because the left and right sides have a different number of elements.
legend(H)
What size is y? If y is a vector then y - y' creates a square matrix in which each element of y is subtracted from each other element of y; the result of plotting that would be multiple lines.

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by