Adjust legend position outside the figure layout

10 ビュー (過去 30 日間)
Wiqas Ahmad
Wiqas Ahmad 2021 年 11 月 18 日
コメント済み: Adam Danz 2021 年 11 月 22 日
I want to positioned the legend outside in the center of the figure. I have tried the northoutside, northeastoutside and posiiton but didn't get the accurate results. I need your help to resolve this problem.
figure('name','Linearly polarization')
t = tiledlayout(1,4,'TileSpacing','Compact','Padding','Compact');
%Tile1
nexttile
hold on
plot(z,iLpara11,'-k','LineWidth',1.5);
plot(z,iLpara12,'-b','LineWidth',1.5);
plot(z,iLpara13,'-r','LineWidth',1.5);
plot(z,iLpara14,'-g','LineWidth',1.5);
hold on
%title('\fontname{Arial}Homogeneous water cloud');
legend('Case1','Case2','Case3','Case4','position',[.1 .1 .2 .2],'orientation','horizontal','Fontsize',11);
legend boxon
%set(gca,'yscale','log');
xlabel('\fontname{Arial}Height of the cloud(m)');
ylabel('\fontname{Arial}Backscattered signal(unit)');
set(gca,'color','w','Fontsize',10.5,'LineWidth',1,'Fontweight','normal');
set(gca,'box','on','boxstyle','full','Fontname','Arial','Fontsmoothing','on');
set(gca,'xlim',[2005 2155],'xtick',[2005:50:2155],'ylim',[0.*10.^-8 1.4.*10.^-8],'ytick',[0:.35:1.4].*10.^-8);
set(gca,'xgrid','on','ygrid','on','gridcolor','k');
%txt=text(2050,1.3.*10.^-8,'Linear polarization','Color','black','FontSize',11,'FontWeight','normal','FontName','Arial')
nIDs = 1;
alphabet = ('a':'z').';
chars = num2cell(alphabet(1:nIDs));
chars = chars.';
charlbl = strcat('(',chars,')'); % {'(a)','(b)','(c)','(d)'}
text(0.05,0.95,charlbl{1},'Units','normalized','FontSize',14);
%Tile2
nexttile
hold on
plot(z,iLperp11,'-k','LineWidth',1.5);
plot(z,iLperp12,'-b','LineWidth',1.5);
plot(z,iLperp13,'-r','LineWidth',1.5);
plot(z,iLperp14,'-g','LineWidth',1.5);
hold on
%title('\fontname{Arial}Homogeneous water cloud');
%legend('Case1','Case2','Case3','Case4','location','northoutside','orientation','horizontal','Fontsize',11);
%legend boxon
%set(gca,'yscale','log');
xlabel('\fontname{Arial}Height of the cloud(m)');
ylabel('\fontname{Arial}Backscattered signal(unit)');
set(gca,'color','w','Fontsize',10.5,'LineWidth',1,'Fontweight','normal');
set(gca,'box','on','boxstyle','full','Fontname','Arial','Fontsmoothing','on');
set(gca,'xlim',[2005 2155],'xtick',[2005:50:2155],'ylim',[0.*10.^-9 1.2.*10.^-9],'ytick',[0:0.3:1.2].*10.^-9);
set(gca,'xgrid','on','ygrid','on','gridcolor','k');
%txt=text(2050,1.12.*10.^-9,'Linear polarization','Color','black','FontSize',11,'FontWeight','normal','FontName','Arial')
nIDs = 2;
alphabet = ('a':'z').';
chars = num2cell(alphabet(1:nIDs));
chars = chars.';
charlbl = strcat('(',chars,')'); % {'(a)','(b)','(c)','(d)'}
text(0.05,0.95,charlbl{2},'Units','normalized','FontSize',14);
%Tile3
nexttile
hold on
plot(z,iCperp21,'-k','LineWidth',1.5);
plot(z,iCperp22,'-b','LineWidth',1.5);
plot(z,iCperp23,'-r','LineWidth',1.5);
plot(z,iCperp24,'-g','LineWidth',1.5);
hold on
%title('\fontname{Arial}Homogeneous water cloud');
%legend('Case1','Case2','Case3','Case4','location','northoutside','orientation','horizontal','Fontsize',11);
%legend boxon
%set(gca,'yscale','log');
xlabel('\fontname{Arial}Height of the cloud(m)');
ylabel('\fontname{Arial}Backscattered signal(unit)');
set(gca,'color','w','Fontsize',10.5,'LineWidth',1,'Fontweight','normal');
set(gca,'box','on','boxstyle','full','Fontname','Arial','Fontsmoothing','on');
set(gca,'xlim',[2005 2155],'xtick',[2005:50:2155],'ylim',[0.*10.^-8 1.4.*10.^-8],'ytick',[0:.35:1.4].*10.^-8);
set(gca,'xgrid','on','ygrid','on','gridcolor','k');
%txt=text(2050,1.3.*10.^-8,'Circular polarization','Color','black','FontSize',11,'FontWeight','normal','FontName','Arial')
nIDs = 3;
alphabet = ('a':'z').';
chars = num2cell(alphabet(1:nIDs));
chars = chars.';
charlbl = strcat('(',chars,')'); % {'(a)','(b)','(c)','(d)'}
text(0.05,0.95,charlbl{3},'Units','normalized','FontSize',14);
%Tile4
nexttile
hold on
plot(z,iCpara21,'-k','LineWidth',1.5);
plot(z,iCpara22,'-b','LineWidth',1.5);
plot(z,iCpara23,'-r','LineWidth',1.5);
plot(z,iCpara24,'-g','LineWidth',1.5);
hold on
%title('\fontname{Arial}Homogeneous water cloud');
xlabel('\fontname{Arial}Height of the cloud(m)');
%legend('Case1','Case2','Case3','Case4','location','southeast','FontSize',10);
%legend boxoff
%set(gca,'yscale','log');
xlabel('\fontname{Arial}Height of the cloud(m)');
ylabel('\fontname{Arial}Backscattered signal(unit)');
set(gca,'color','w','Fontsize',10.5,'LineWidth',1,'Fontweight','normal');
set(gca,'box','on','boxstyle','full','Fontname','Arial','Fontsmoothing','on');
set(gca,'xlim',[2005 2155],'xtick',[2005:50:2155],'ylim',[0.*10.^-9 2.5.*10.^-9],'ytick',[0:0.625:2.5].*10.^-9);
set(gca,'xgrid','on','ygrid','on','gridcolor','k');
%txt=text(2050,2.35.*10.^-9,'Circular polarization','Color','black','FontSize',11,'FontWeight','normal','FontName','Arial')
nIDs = 4;
alphabet = ('a':'z').';
chars = num2cell(alphabet(1:nIDs));
chars = chars.';
charlbl = strcat('(',chars,')'); % {'(a)','(b)','(c)','(d)'}
text(0.05,0.95,charlbl{4},'Units','normalized','FontSize',14);
% Enlarge figure to full screen.
%set(gcf, 'units','normalized','outerposition',[.3 .3 .6 .6]);
set(gcf, 'units','normalized','outerposition',[.2 .4 .65 .38]);
print(gcf,'figure.tiff','-dtiff','-r300');

回答 (1 件)

Adam Danz
Adam Danz 2021 年 11 月 19 日
Since you're using tiledLayout the best option is to specify the layout as shows in this example.
lh =legend(__);
lh.Layout.Tile = 'North'; % <----- relative to tiledlayout
  2 件のコメント
Wiqas Ahmad
Wiqas Ahmad 2021 年 11 月 22 日
編集済み: Wiqas Ahmad 2021 年 11 月 22 日
I have found the answer. I'm using the R2019b in which the legend position is locked. Your answer is feasible with R2020b. Anyway thnak you for your attention.
Adam Danz
Adam Danz 2021 年 11 月 22 日
In future questions, you can fill out the "release" field to indicate which Matlab release you'res using.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLegend についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by