Error in legends of subplots using a for loop

2 次查看(过去 30 天)
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

回答(1 个)

Shivani
Shivani 2024-6-13
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 个评论
Anil
Anil 2024-6-13
编辑:Anil 2024-6-13
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.

请先登录,再进行评论。

产品


版本

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by