Text location
770 views (last 30 days)
Show older comments
Jorge
on 6 Feb 2011
Answered: Cailean MacLabhruinn
on 17 Oct 2021
Is possible put a text in a determinated position, for example, at the top left?
0 Comments
Accepted Answer
Walter Roberson
on 6 Feb 2011
text(0,1,'Your String','Units','normalized')
3 Comments
Walter Roberson
on 5 Oct 2018
h = annotation('textbox', [0 1 0 0], 'String', 'YourString', 'FitBoxToText', true);
More Answers (5)
Jan
on 6 Feb 2011
FigH = figure;
AxesH = axes('Parent', FigH, ...
'Units', 'normalized', ...
'Position', [0, 0, 1, 1], ...
'Visible', 'off', ...
'XLim', [0, 1], ...
'YLim', [0, 1], ...
'NextPlot', 'add');
TextH = text(0,1, 'Top left', ...
'HorizontalAlignment', 'left', ...
'VerticalAlignment', 'top');
Now you can inspect the properties with "get(TextH)" or "set(TextH)" for further adjustments.
Sometimes a UICONTROL('Style', 'text') is easier, because it does not need the invisible full-figure AXES object.
0 Comments
RonE
on 4 Oct 2018
I find the documentation on 'text' to be nearly useless in this matter. The following places text at the top left of the graph.
ylimits = ylim;
ymax = ylimits(2);
vert_spacing = ymax/47; %may have to experiment with this #
text(10, ymax-vert_spacing*1, 'Line 1');
text(10, ymax-vert_spacing*2, 'Line 2');
...
0 Comments
Jiro Doke
on 6 Feb 2011
What do you mean "top left"? Top left of the figure? Top left of the screen? Top left of the axes?
3 Comments
Cailean MacLabhruinn
on 17 Oct 2021
You can get the limits of the x and y axes:
xL=xlim;
yL=ylim;
(You have to assign them to variables, you cannot simply use e.g. xlim(1).)
Next, you can use these values to specify the location of your text; e.g.:
xT=xL(1)-(xL(2)-xL(1))/6.5;
yT=yL(2)+(yL(2)-yL(1))/17;
Then the text command looks like this:
text(xT,yT,'YourText')
0 Comments
See Also
Categories
Find more on Annotations 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!