2009-11-11 29 views
0

我正在MATLAB中編寫兩個小型心理聲學測試應用程序。第一個沒有問題,但第二個沒有問題,我只是不明白爲什麼。爲什麼這個軸對象在MATLAB中不能正確顯示?

下面是問題:軸對象被創建,但它是空的。

failed_axis http://dl.getdropbox.com/u/98854/help.png

下面是創建這個數字和斧頭代碼:

hFig = figure('dockcontrols','off','menubar','none', ... 
       'name','choose the better sounding file', ... 
     'numbertitle','off','position',[0,0,700,500], ... 
     'resize','off','toolbar','none','units','normalized', ... 
     'color',[.8,.8,.8]); 
progress_idc = axes('position',[.1,.8,.8,.05],'box','on','parent',hFig,... 
      'xlim',[-.03,1.03],'xtickmode','manual','xtick',[], ... 
      'xticklabelmode','manual','xticklabel',[], ... 
      'ylim',[-1,1],'ytickmode','manual','ytick',[], ... 
      'yticklabelmode','manual','yticklabel',[], ... 
      'nextplot','add'); 

這裏是在這個地塊軸(該功能通過一個定時器定期調用)的代碼:

function replot(varargin) % this is a nested function 
    cla; 

    % plot start_indicator 
    plot([x_start,x_start],[-.7,.7],'k','linewidth',2); 
    fill([x_start,x_start-.02,x_start-.02],[0,-.7,.7],[0,0,0]); 

    % plot stop_indicator 
    plot([x_stop,x_stop],[-.7,.7],'k','linewidth',2); 
    fill([x_stop,x_stop+.02,x_stop+.02],[0,-.7,.7],[0,0,0]); 

    % plot play_position 
    plot([x_play,x_play],[-1,1],'r'); 

    drawnow; 
end 

這是什麼樣子的,如果它的工作原理:

proper_axis http://dl.getdropbox.com/u/98854/help2.png

你知道這裏出了什麼問題嗎?

+1

我想你還需要顯示在軸上繪製對象的代碼。我不認爲上面的代碼足以繼續爲你找出解決方案。 – gnovice 2009-11-11 15:30:13

回答

1

我終於找到了(愚蠢的)答案。標題意外地與情節軸具有相同的位置。由於Matlab的一些渲染細節,除了最右邊和最底部的像素線之外,它會遮擋整個軸,這會使軸看起來像「空」一樣。

哦,多麼愚蠢的錯誤。

+1

是的,事後看來,大多數錯誤似乎都是愚蠢的。 ;)從你張貼的圖片中,我不認爲標題文本框延伸了很遠。儘管如此,我仍然建議使用我上面給出的建議,並明確告訴你的劇情指令他們應該去的地方。 – gnovice 2009-11-13 14:20:12

+0

是的,這是很好的建議!讓程序明確地做正確的事情,而不是依靠隱含的假設(或機會!)肯定會更好。 – bastibe 2009-11-14 07:42:12

2

我運行了上面包含的代碼並獲得了正確的輸出結果。

如果我不得不採取胡亂猜測至於是什麼問題,我猜你可能會創建應用程序中的其他軸,你是不是上面的列表中,或者,你可能有其它軸不與應用程序運行時打開的應用程序相關。在功能replot中繪製對象時,默認情況下將它們繪製爲currently active軸。如果您打開了多個軸,則繪圖可能會因錯誤的座標軸而發生變化。

我想提出的一個建議是明確指定在調用PLOTFILL時父軸對象應該在什麼位置。如果將參數...,'Parent',progress_idc);添加到您的繪圖調用中,它將確保始終使用正確的座標軸。我習慣於總是指定父軸對象,而不是假定當前活動的軸始終是我需要的軸。

相關問題