How to align the figure name to the left ?
    67 views (last 30 days)
  
       Show older comments
    
Hi,
How can I align the figure name or title to the left side ?
Thanks in advance
6 Comments
Accepted Answer
  Matt Fig
      
      
 on 12 Oct 2012
        About the only thing I can think of is to buffer with spaces, but then resizing the figure wouldn't preserve this.
set(gcf,'name','                  Myfig')
2 Comments
  Lucien Robinault
      
 on 13 Mar 2018
				It look like you could try to use html to do this as explained here : https://undocumentedmatlab.com/blog/aligning-uicontrol-contents
More Answers (6)
  Adam Danz
    
      
 on 18 Apr 2023
        
      Edited: Adam Danz
    
      
 on 21 Nov 2023
  
      Starting in MATLAB R2020b, control the horizontal alignment of title and subtitle using the axis properties TitleHorizontalAlignment which can be set to center (default), left, or right. 
Similarly, control the alignment of axis labels using the LabelHorizontalAlignment which is a property on the axis ruler.  
(This does not affect the position of the figure name which is the original question by the OP).
tiledlayout(1,3)
ax1 = nexttile(); 
title('Left')
ax1.TitleHorizontalAlignment = 'left'; 
box on
axis square
grid on
ax2 = nexttile(); 
title('Center')
ax2.TitleHorizontalAlignment = 'center'; 
box on
axis square
grid on
ax3 = nexttile(); 
title('Right')
ax3.TitleHorizontalAlignment = 'right'; 
box on
axis square
grid on
0 Comments
  Dimitrios Patikas
 on 27 Aug 2022
        There is no way I know for adjusting the title of the figure.
The title of each graph can be adjucted by calculating the limits of the axes. For example:
subplot(3,1,1)
plot([1:pi/10:10], sin(1:pi/10:10))
LimitsX = xlim; LimitsY = ylim;
title('Left', 'HorizontalAlignment', 'left', 'position', [LimitsX(1), LimitsY(2)]);
subplot(3,1,2)
plot([1:pi/10:10], cos(1:pi/10:10))
LimitsX = xlim; LimitsY = ylim;
title('Center (default)');
subplot(3,1,3)
plot([3:pi/10:12], sin(3:pi/10:12))
LimitsX = xlim; LimitsY = ylim;
title('Right', 'HorizontAlalignment', 'right', 'position', [LimitsX(2), LimitsY(2)]);
1 Comment
  O.Hubert
      
 on 28 Mar 2023
				
      Edited: O.Hubert
      
 on 28 Mar 2023
  
			Although this answer does not address the issue of the OP (which was to change the location of the figure name and not the title of the plot, i.e. having "Figure 1" left-aligned), this answer addresses the issue of setting the title plot aligned with the plot area, which may be the reason why users land on this thread.
It is a nice solution which does not require any ad-hoc setting of the location.
  Mohamed Marei
 on 11 May 2013
        
      Edited: Azzi Abdelmalek
      
      
 on 11 May 2013
  
      This is long overdue but I figured someone else might heed to do it:
set(title1,'Position',[4.98848 0.24 1.00011]) %%%Default setting
set(title1,'Position',[4.98848 0.34 1.00011]) %%%Shifts upward by 0.1 units
set(title1,'Position',[5.98848 0.34 0.00011]) %%%Shifts to the left by 1 unit
1 Comment
  Jonathan Broyles
 on 21 Apr 2017
				When I tried it this way, but when I pan the plot(change xlim or ylim) the title moves with it, rather than staying stationary as you would expect a title to do. R2017a
  Roger Parkyn
 on 14 Sep 2020
        Or just use a text label instead. 
text(0.02, 1.02, 'Some Title String', 'Units', 'normalized', 'VerticalAlignment','Bottom', 'FontWeight','bold');
0 Comments
  Sara
 on 23 Mar 2021
        You can change the psition based on your need by chnaging the  
[0.5 1200 1.1]);
I used this in one of my codes. 
title ('a','FontSize',13,'position',[0.5 1200 1.1]);        
% 
%
0 Comments
See Also
Categories
				Find more on Title in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!











