5

Matlab 中有没有一种方法可以在不让 Matlabdrawnow隐式执行重绘()的情况下将轴放在前面?

我的问题的背景:我正在准备一个带有几个子图的大图。在其中一些中,我有 2 个轴叠加,因为我想在 2 个不同的 y 尺度上查看相同的数据。在玩弄了轴设置之后,我终于得到了我所期望的图形。

但是:我需要将其中一个轴放在前面(在我的情况下,左轴 hAxL)。所以我的代码中有这一行:axes(hAxL); 这行得通,但是,Matlab 似乎不仅将轴放在前面,而且还重绘了图形。

很遗憾,因为我正在准备整个数字'visible','off'来加速它。隐式drawnow破坏了我的想法并使图形弹出多次,这很烦人并且需要更长的代码执行时间......

我已经尝试过这个:set(gcf ,'CurrentAxes',hAxL),但它只制作hAxL当前的轴,并没有把它带到前面。关于如何解决这个问题的任何想法?

4

2 回答 2

5

这也是一个非常简单的解决方案,应该适用于这种情况。

set(hAxL ,'Layer', 'Top')
于 2014-11-17T01:31:15.257 回答
4

也许 uistack 可能是一个解决方案。

尝试

uistack(hAxL, 'top')
于 2014-08-06T10:18:35.223 回答