Error in legends of subplots using a for loop

조회 수: 3 (최근 30일)
Anil
Anil 2024년 6월 13일
편집: Anil 2024년 6월 13일
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.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Legend에 대해 자세히 알아보기

제품


릴리스

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by