在Matlab中是否有办法将轴放在前面而不让Matlab隐式执行重绘(drawnow
)?
我的问题的背景: 我正准备一个带有几个子图的大图。在其中一些我有2个轴叠加,因为我想在2个不同的y尺度上看到相同的数据。 在玩完轴设置之后,我终于让这个数字看起来像我预期的那样。
但是:我需要将其中一个轴放在前面(在我的例子中,左轴是hAxL)。
所以我的代码中有这一行:axes(hAxL);
这很有效,但似乎Matlab不仅将轴线放在前面,而且还重新绘制了图形。
很遗憾,因为我正在用'visible','off'
准备整个数字来加速它。隐式drawnow
打破了我的想法并使图形弹出了几次,这很烦人并且需要更长时间执行代码......
我已经尝试过这个:set(gcf ,'CurrentAxes',hAxL)
,但它只会使当前轴hAxL
并且不会将它带到前面。
关于如何解决这个问题的任何想法?
答案 0 :(得分:5)
这也是一个非常简单的解决方案,适用于这种情况。
set(hAxL ,'Layer', 'Top')
答案 1 :(得分:4)
也许uistack可能是一个解决方案。
尝试
uistack(hAxL, 'top')