0

我已经实现了一个程序,其中代码如下

load('color_0.mat')
isosurface(foo,fo);
caxis([0.2 0.5])
colorbar
grid on; axis equal; colormap default; alpha(0.3);
hold on;  

plot3(35,30,15,'.','Color',[0,0,0],'MarkerSize',15); hold on; % Dorsal Raphe Nucleus  (DRN - serotonin, 5-HT)

xlabel('anterior-posterior (a.u.)'); ylabel('left-right (a.u.)'); zlabel('ventral-dorsal/inferior-superior (a.u.)'); 
grid on;

pause(.5)

load('color_1.mat')
isosurface(foo,fo);
caxis([0.2 0.5])
colorbar
grid on; axis equal; colormap default;  alpha(0.3);
hold on;  

plot3(35,30,15,'.','Color',[0,0,0],'MarkerSize',15); hold on; % Dorsal Raphe Nucleus (DRN - serotonin, 5-HT)

xlabel('anterior-posterior (a.u.)'); ylabel('left-right (a.u.)'); zlabel('ventral-dorsal/inferior-superior (a.u.)'); 
grid on;

这样,数字就被新的数字叠加了。如何避免这种情况?通过在两者之间使用 clf,工具栏就会消失。

4

3 回答 3

5

这些图是叠加的,因为您使用的是hold on. 在地块之间插入hold off,以便新地块清除旧地块。

于 2013-07-12T13:21:57.603 回答
1

Eitan T 的答案是正确的。如果您仍然想使用hold on,因为您想保留某些元素,而不是其他元素,您可以在绘制元素时为元素提供句柄:

h = plot3(35,30,15,'.','Color',[0,0,0],'MarkerSize',15);

然后使用以下方法清除它:

delete(h)
于 2013-07-12T13:29:33.797 回答
0

有时,在强制将图形的所有内容绘制在屏幕上drawnow之后立即添加会有所帮助。plot

于 2013-07-12T14:22:42.767 回答