2017-03-05 56 views
-1

請我試圖在一個圖中做出兩個補丁,在繪製第一個消失後,我只得到第二個「disk2」。我已經試過「持有」,但它不工作 基本上我有這段代碼用於繪圖在一個圖中的兩個補丁

for ii=1:length(y) 

set(disk1, 'xdata', xcirc1(:,ii), 'ydata', ycirc1(:,ii), 'zdata', zcirc1(:,ii)); 

set(disk2, 'xdata', xcirc2(:,ii), 'ydata', ycirc2(:,ii), 'zdata', zcirc2(:,ii)); 

drawnow 

    pause(0.01) 

end 

這是怎麼disk的創建

disk1= patch('xdata', xcirc1(:,1), 'ydata', ycirc1(:,1), 'zdata', zcirc1(:,1)); 
disk2= patch('xdata', xcirc2(:,1), 'ydata', ycirc2(:,1), 'zdata', zcirc2(:,1)); 

任何可以給我一個解決這個問題的建議。 謝謝。

+1

你可以製作一個小的完整示例代碼,以便我們可以運行它嗎? – Yvon

+0

嗨Yvon, 不幸的是,代碼是相當長的張貼在這裏,基本上坐在磁盤補丁後如下: disk1 = patch('xdata',xcirc1(:,1),'ydata',ycirc1( :,1),'zdata',zcirc1(:,1)); (',1),'ydata',ycirc2(:,1),'zdata',zcirc2(:,1)); disk2 = patch('xdata',xcirc2 我使用代碼「在主帖子」進行繪圖。 –

回答

0

hold爲我工作。

xcirc1 = rand(3,5); 
xcirc2 = rand(3,5); 
ycirc1 = rand(3,5); 
ycirc2 = rand(3,5); 
zcirc1 = rand(3,5); 
zcirc2 = rand(3,5); 

hfig = figure; 
hax = axes('Parent',hfig); 
hold(hax,'on') 
disk1= patch('xdata', xcirc1(:,1), 'ydata', ycirc1(:,1), 'zdata', zcirc1(:,1)); 
disk2= patch('xdata', xcirc2(:,1), 'ydata', ycirc2(:,1), 'zdata', zcirc2(:,1)); 
for ii=1:5 
    set(disk1, 'xdata', xcirc1(:,ii), 'ydata', ycirc1(:,ii), 'zdata', zcirc1(:,ii)); 
    set(disk2, 'xdata', xcirc2(:,ii), 'ydata', ycirc2(:,ii), 'zdata', zcirc2(:,ii)); 
    pause(0.01) 
end 
hold(hax,'off') 
+0

謝謝你Yvon它的作品。 –