一个图中有两个补丁

时间:2017-03-05 19:28:02

标签: matlab matlab-figure

请我试图在一个图中制作两个补丁,在绘制第一个之后它消失了,我只得到第二个'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 个答案:

答案 0 :(得分: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')