2013-05-20 108 views
1

我在Matlab中創建一個GUI。我有幾個軸,我繪製不同的圖形。我在一些座標軸上設置了屬性XTick[]。但是,每當我在同一軸上繪製新圖時,xticks就會再次出現。我知道我可以通過使用set刪除:繪圖覆蓋座標軸屬性'XTick'

set(handles.axes_0, 'XTick', []); 

然而,這創造了一個「閃爍」的效果:你看蜱蟲出現,然後每次我繪製新的東西dissapearing。

你知道我怎麼能有XTick禁用軸避免閃爍效應?

一些基本代碼:

figure(1); %create new figure 
set(gca, 'XTick', []); %Disable xtick 
plot([1 2 ], [2, 3]); %Plot something. Xtick appears again 
set(gca, 'XTick', []); %Disable xtick until next plot 
+1

爲什麼不等到所有繪圖結束,然後禁用刻度? – Shai

+0

我所做的是繪製一個信號窗口(60秒),但是當用戶點一個滑動條時,我繪製另一個窗口(以下或前一個窗口)。那就是當你看到xticks出現並再次消失的時候。 – Digna

+1

竊聽用戶...你不能得到一個不同的? – Shai

回答

1

由於Shai使用hold on當蜱不再出現在註釋中指出。由於我想在繪製新圖之前清理前面的圖,我使用findobj搜索其標識,然後將其刪除。最後,我用hold on繪製新圖。示例(假設軸手柄名爲handles.axes_0):

h = findobj(handles.axes_0,'Type','line'); 
if ~isempty(h) 
    delete(h); 
end 
hold on 
plot(handles.axes_0,x,y); 
hold off 
+0

+1非常好的工作! – Shai