Hold all the legends while plotting multiple figures inside a for loop
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
A sample code is given below. Only the last legend entry is appearing in the plot. My attempt is to display all the legend entries in the plot. Hold all is not holding the legends but only coloring the plots.
clc
clear all
freq=20:20:100;
accln=[1 1 1 1 1;2 2 2 2 2;3 3 3 3 3;4 4 4 4 4;5 5 5 5 5];
data=[freq' accln'];
rms=zeros(5,1);
for i=1:5
rms(i)=sqrt(sum(data(:,i+1)));
end
for m=1:1:5
plot(data(:,1),data(:,m+1),'LineWidth',2)
hold all
ylim([0 6])
xlabel('Freq','FontSize',12)
ylabel('Accleration','FontSize',12)
set(gca,'FontSize',12)
leg=legend([num2str(m),'-',num2str(m+1),'s',' ',num2str(rms(m),'%.1f'),' ','grms']);
set(leg,'Location','SouthEast')
grid on
orient landscape
end
print('-dpdf','Hold legend.pdf','-r0');
0 commentaires
Réponse acceptée
KSSV
le 9 Nov 2018
Modifié(e) : KSSV
le 9 Nov 2018
clc
clear all
freq=20:20:100;
accln=[1 1 1 1 1;2 2 2 2 2;3 3 3 3 3;4 4 4 4 4;5 5 5 5 5];
data=[freq' accln'];
rms=zeros(5,1);
for i=1:5
rms(i)=sqrt(sum(data(:,i+1)));
end
leg = cell(5,1) ;
for m=1:1:5
plot(data(:,1),data(:,m+1),'LineWidth',2)
hold all
ylim([0 6])
xlabel('Freq','FontSize',12)
ylabel('Accleration','FontSize',12)
set(gca,'FontSize',12)
leg{m}=[num2str(m),'-',num2str(m+1),'s',' ',num2str(rms(m),'%.1f'),' ','grms'];
% set(leg{m},'Location','SouthEast')
grid on
orient landscape
end
leg = legend(leg) ;
set(leg,'Location','SouthEast')
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Power Converters dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!