Text position based on another Text
2 次查看(过去 30 天)
显示 更早的评论
I need to plot a vertical text (text 2) next to a horizontal text (text 1), if I use the the same position that I used to plot text1 they become superimposed.
I've tried to infer the second position based on the Extent property of text1, but I can't get the units right:
rec = txt.Extent;
pos_x = rec(1) + rec(3);
pos_y = rec(2);
text(pos_x,pos_y,txt2,'HorizontalAlignment','center','FontSize',sz,'Rotation',90,'Units','normalized');
I've tried also with units in pixels but that didn't worked either.
The figure is a time series, I couldn't find any convertion function.
From the documentation it seems to me that the Extent values are normalized but I dont know if anything else is needed to display the second position on those coordinates.
Any pointers?? (hehe...get it?)
0 个评论
采纳的回答
Star Strider
2020-8-12
I am not certain what the problem is.
Try something like this:
x = 1:20;
y = 10*sin(pi*x/5);
figure
plot(x, y)
grid
vtext = compose('%s\n%s\n%s\n','Vertical','text','example');
htext = compose('%s', 'Horizontal text example');
text(6,5,vtext,'VerticalAlignment','middle', 'HorizontalAlignment','right')
text(6,5,htext, 'HorizontalAlignment','left')
.
2 个评论
Star Strider
2020-8-12
If they are both centered horizontally, I would use 'VerticalAlignment','top', for the vertical one, and 'VerticalAlignmment','bottom' for the horizontal one.
In my code, the text calls then become:
text(6,5,vtext,'VerticalAlignment','top', 'HorizontalAlignment','center')
text(6,5,htext,'VerticalAlignment','bottom', 'HorizontalAlignment','center')
When I ran that just now (with the rest of my code unchanged), it appeared to produce the desired result, at least as I understand what you want. Note that the coordinates and 'HorizontalAlignment' name-value pair arguments are the same for both text calls, with only the 'VerticalAlignment' name-value pair arguments different.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Annotations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!