在Matlab中有没有一种方法可以在不让Matlab隐式执行重绘(drawnow)的情况下将轴放在前面?
我的问题的背景:我正在准备一个有几个子情节的大图。在它们中的一些我有两个轴叠加,因为我想在两个不同的y尺度上看到相同的数据。在尝试了轴设置之后,我终于得到了我所期望的图形。
但是:我需要将其中一个轴放在前面(在我的例子中,左轴是hAxL)。所以我在我的代码中有这样一行:axes(hAxL);这是有效的,但是,似乎Matlab不仅把轴放在前面,而且还重新绘制了图形。
这很遗憾,因为我正在用'visible','off'准备整个图形来加速它。隐式的drawnow破坏了我的想法,并使图形弹出几次,这很烦人,代码执行的时间也更长……
我已经尝试过了:set(gcf ,'CurrentAxes',hAxL),但它只将hAxL设置为当前轴,而不会将其置于最前面。有没有办法解决这个问题?
发布于 2014-08-06 18:18:35
也许uistack可以解决这个问题。
试一试
uistack(hAxL, 'top')发布于 2014-11-17 09:31:15
这也是一个非常简单的解决方案,应该适用于这种情况。
set(hAxL ,'Layer', 'Top')https://stackoverflow.com/questions/25157724
复制相似问题