Error in legends of subplots using a for loop

2 visualizzazioni (ultimi 30 giorni)
Anil
Anil il 13 Giu 2024
Modificato: Anil il 13 Giu 2024
I want legends g_1=fr(1), g_1=fr(2), g_1=fr(3) for each plots in each window ha(kk). I am doing some mistake in legends, but couldn't figured it out. Any suggestions please. Thanks.
[ha, pos]= tight_subplot(4,3,[.1 .15],[.13 .01],[.13 .1]);
fr=([0.1, 0.5, 1]);
[h0, h1]=size(fr);
% for jj=1:h1
for jj=1:3
for kk=1:12
lin={'--','-.',':'};
axes(ha(kk));
x=load(sprintf('frq_%d%d.dat',jj,kk));
x1(jj)=loglog(x(:,33),x(:,kk+5),'linestyle',lin{jj},'LineWidth', 2.5);
hold on
ylabel([ha(1),ha(4), ha(7),ha(10)],'\Delta\omega_{}')
xlabel([ha(10), ha(11),ha(12)],'\Delta\omega_{o}')
% legend([x1([1 2 3])],{'$g_1=fr(%d)$',jj},'Fontsize',34,'Location','northwest','Interpreter', 'latex');
legend([x1([jj])],{'\rm{"$g_1{'+fr{jj}+'}$"}'},'Fontsize',34,'Location','northwest','Interpreter', 'latex');
legend('boxoff')
end
end

Risposte (1)

Shivani
Shivani il 13 Giu 2024
Hello @Anil,
Without the 'frq_%d%d.dat' files, I will not be able to recreate the plots at my end to provide an accurate solution. However, I have provided one approach to format the legend as per my understanding in the code snippet below.
legendString = sprintf('\\it{g_{1}=fr(%1.1f)}', fr(jj));
legend(x1(jj), legendString, 'FontSize', 34, 'Location', 'northwest', 'Interpreter', 'latex');
legend('boxoff')
  1 Commento
Anil
Anil il 13 Giu 2024
Modificato: Anil il 13 Giu 2024
Hi Shivani,
Thanks for that.
I used
legendString =sprintf('$g_1=%f $',fr(jj));
to get g_1=0.1 , g_1=0.5 and so on, which wokrs for me. But it gets overwritten for next value of jj and doesn't show a separate legend for that. Any suggestions, please. Thanks.

Accedi per commentare.

Prodotti


Release

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by