将文字显示在图的前面

时间:2018-12-20 17:31:40

标签: matlab text rotation matlab-figure bringtofront

我在MATLAB中有一个图形。然后输入以下内容向其中添加文本

b = text(0.5, 0.5, 'Detector action', 'Rotation', -70, 'FontSize', 25);

但是文字在图形后面(见下文), enter image description here

我也尝试过

uistack(b, 'top');

但是没有用。

1 个答案:

答案 0 :(得分:6)

最简单的方法是根本不用去text,而要使用annotation,因为这样的对象(至少默认情况下)将位于轴(因此,任何东西)上方画在里面)。

使用annotation对象的窍门是违反直觉的,我们不要使用TextBox,而是使用TextArrow,同时使箭头本身不可见。

例如:

figure(); membrane(); 
annotation('TextArrow', [.5 .5], [.5 .5], 'String','Some text', 'TextRotation', -30, ...
           'HeadStyle','none','TextBackgroundColor','w' );

enter image description here