How to align the figure name to the left ?
Ältere Kommentare anzeigen
Hi,
How can I align the figure name or title to the left side ?
Thanks in advance
6 Kommentare
Matt Fig
am 12 Okt. 2012
Do you mean a plot title? A figure is the window that the plot is in...
aurora
am 12 Okt. 2012
Matt Fig
am 12 Okt. 2012
The figure name is already to the left by default, at least it is on my system. What OS are you using?
aurora
am 12 Okt. 2012
Azzi Abdelmalek
am 12 Okt. 2012
aurora, how did you creat this name?
aurora
am 12 Okt. 2012
Akzeptierte Antwort
Weitere Antworten (6)
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
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 Kommentar
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.
Azzi Abdelmalek
am 12 Okt. 2012
title('yourtitle','position',[1 1])
3 Kommentare
aurora
am 12 Okt. 2012
Azzi Abdelmalek
am 12 Okt. 2012
Aurore why are you changing the location of the name?
aurora
am 12 Okt. 2012
Mohamed Marei
am 11 Mai 2013
Bearbeitet: Azzi Abdelmalek
am 11 Mai 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 Kommentar
Jonathan Broyles
am 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
am 14 Sep. 2020
Or just use a text label instead.
text(0.02, 1.02, 'Some Title String', 'Units', 'normalized', 'VerticalAlignment','Bottom', 'FontWeight','bold');
Sara
am 23 Mär. 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]);
%
%
Kategorien
Mehr zu Title finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

