1.matlab fo循环 在一个figure上画图,实时清空上一次绘图
for i = 1:5:1800
i
one_view = prj(:,:,i);
[judge,position] = JudgeView(one_view);
figure(1);
hold on;
h1 = plot(one_view);
title(['view :',num2str(i)])
xlabel("channel number");
ylabel("projection");
h2 = scatter(position(:,1) ,position(:,2));
grid on;
hold off;
pause(0.5);
delete(h1);
delete(h2);
end
2.在三维空间绘制散点时,明明时三维坐标,绘制出来的却是二维的图
原因是,使用了hold on ; hold off
waterTemp = LwAll(:,:,viewIndex);
alTemp = LmAll(:,:,viewIndex);
OnePrj = prj(:,:,viewIndex);
counter = 1;
point = [];
for i = 1:size(OnePrj,1)
for j = 1:size(OnePrj,2)
if(waterTemp(i,j) ~=0 || alTemp(i,j) ~= 0)
point(counter,:) = [waterTemp(i,j),alTemp(i,j) ,OnePrj(i,j)];
counter = counter +1;
end
end
end
% % Lw = reshape(waterTemp,[N_CHANNEL*16,1]);
% % Lm = reshape(alTemp,[N_CHANNEL*16,1]);
% % PrjValue = reshape(OnePrj,[N_CHANNEL*16,1]);
figure(1);
hold on;
scatter3(point(:,1),point(:,2),point(:,3),'b*');