Adjust legend position outside the figure layout

11 visualizaciones (últimos 30 días)
Wiqas Ahmad
Wiqas Ahmad el 18 de Nov. de 2021
Comentada: Adam Danz el 22 de Nov. de 2021
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');

Respuestas (1)

Adam Danz
Adam Danz el 19 de Nov. de 2021
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 comentarios
Wiqas Ahmad
Wiqas Ahmad el 22 de Nov. de 2021
Editada: Wiqas Ahmad el 22 de Nov. de 2021
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 el 22 de Nov. de 2021
In future questions, you can fill out the "release" field to indicate which Matlab release you'res using.

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by