2017-03-05 79 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它的作品。 –