在Matlab中是否有一种方法可以将轴带到前面,而无需Matlab隐式地执行重绘(drawnow
) ?
我的问题背景:我正在准备一个带有几个子图的大图。在某些情况下,我有两个轴重叠,因为我想在两个不同的y尺度上看到相同的数据。在摆弄了坐标轴设置之后,我终于得到了像我预期的那样的图形。
但是:我需要把其中一个轴带到前面(在我的情况下,左轴hAxL)。代码中有这一行:axes(hAxL);
这是有效的,但是,Matlab似乎不仅将轴带到前面,而且还重新绘制了图形。
这很遗憾,因为我正在用'visible','off'
准备整个数字来加速它。隐式的drawnow
破坏了我的想法,使图形弹出几次,这很烦人,需要更长的代码来执行…
我已经尝试过这个:set(gcf ,'CurrentAxes',hAxL)
,但它只使hAxL
当前轴,并没有把它带到前面。知道怎么解决这个问题吗?
对于这种情况,这也是一个非常简单的解决方案。
set(hAxL ,'Layer', 'Top')
也许istack是一个解决方案。
试
uistack(hAxL, 'top')