如何在新的matlab之前清除前一个数字?

时间:2013-07-12 13:18:11

标签: matlab

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

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,工具栏就会消失。

3 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:1)

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

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

然后使用以下内容清除它:

delete(h)

答案 2 :(得分:0)

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