如何强制drawnow Matlab GUI在新窗口中绘制?

如何强制drawnow Matlab GUI在新窗口中绘制?,matlab,user-interface,Matlab,User Interface,我已经使用drawnow来绘制mnist数据集的字符。。哪个输出以下输出 当我用matlab创建GUI并在加载后调用drawnow显示图像时,它会在打开的窗口中绘制图形,给出以下输出 我的问题是如何强制它在新窗口中绘制?drawnow只要求Matlab刷新事件队列并更新图形窗口;它不能决定事物的绘制方式和位置。很难说,因为您没有包含任何代码,但在您的例子中,看起来您只是将角色图像和GUI元素绘制到同一个图形中 您可以通过设置“当前图形”来控制图形操作所指的图形窗口,其句柄始终包含在变量gcf

我已经使用drawnow来绘制mnist数据集的字符。。哪个输出以下输出

当我用matlab创建GUI并在加载后调用drawnow显示图像时,它会在打开的窗口中绘制图形,给出以下输出


我的问题是如何强制它在新窗口中绘制?

drawnow
只要求Matlab刷新事件队列并更新图形窗口;它不能决定事物的绘制方式和位置。很难说,因为您没有包含任何代码,但在您的例子中,看起来您只是将角色图像和GUI元素绘制到同一个图形中

您可以通过设置“当前图形”来控制图形操作所指的图形窗口,其句柄始终包含在变量
gcf
(图形:当前图形)中

您可以生成一个新图形,并通过调用

figure
如果以后要使此图形再次成为当前图形,则需要保存其句柄:

fa = figure;
然后,通过将给定句柄的图形再次设置为当前

figure(fa)
可能的程序的一些草图:

% generate figure windows
fa = figure;
fb = figure;

% plot something in figure a and make the screen update
figure(fa)
plot(...)
drawnow

% put a UI element into figure b and make the screen update
figure(fb)
uicontrol(...)
drawnow

@Rasooll感谢您的编辑,现在好多了:)ahmed,我的回答对您有帮助吗?谢谢您的回答,它帮助我了解drawnow的实际功能,在我的情况下,我停止了该项目大约3天的工作,当我再次返回工作时,该问题在应用您的解决方案之前消失了:)奇怪,但只是为了更好…:-)也许这与你与程序互动的方式有关。通过将图形置于前景(例如,通过鼠标单击),图形也会变为“当前”。在这种情况下,如果您总是在绘图之前立即执行正确的当前图形,则会有所帮助。