2014-02-08 52 views
1

我已經使用的DrawNow繪製MNIST數據集的字符..,其輸出如下輸出如何強制drawnow Matlab GUI在新窗口中繪製?

enter image description here

當我創建用MATLAB GUI和調用的DrawNow加載它之後顯示圖像繪製在該圖打開窗戶讓下面的輸出

enter image description here

我的問題是如何迫使它在新窗口中繪製?

+0

@Rasoolll謝謝你的編輯,現在好多了:) –

+0

艾哈邁德,我的回答有幫助嗎? –

+0

謝謝你的回答,它幫助我理解了實際​​上做了什麼,在我的情況下,我停止了大約3天的項目工作,當我再次返回工作時,應用您的解決方案之前,該問題消失:) –

回答

2

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