用MATLAB画三维离散点

先申明,在回答这个问题前我已经搜索过相关问题,但是没有找到答案。我想画三维离散点,这些点不是存在一个数组里面,而是单独一个点,我想达到的结果是,比如离散点a(1,2,3),b(3,4,6),c(2,4,6)...,怎样一个个将这些点画在三维坐标上,比如先画a,再画b,接着继续画其他点,只是举一个小例子,想达到这种效果!而不是刻意为难大家,请指教!

第1个回答  2011-06-28
下面代码楼主参考一下
>> n=10;
>> for i=1:n
data=fix(rand(3,1)*10); %暂时随便取几个数据
plot3(data(1),data(2),data(3),'bo'); %b代表蓝色,o则表示圆形的点
hold on %标出新点的时候,不能擦掉以前的点。
end
>> grid on
至于你说的点的形状嘛,除了"*","."之外,还有很多。
比如 o(圆形),s(矩形),^(三角形)
引号我就省略了。
还有很多。。。
更多的楼主可以利用 help 命令来查看,即
>> help plot
注意:plot3的help里面没有点的形状参数。建议看 plot的help
若满意请采纳! ^.^
第2个回答  2011-06-27
base=randn(10,3);%%%此处用你的数据替换
for i=1:10
a=base(i,:);
plot3(a(1),a(2),a(3),'*')
grid on
hold on
pause(2)
end
楼主看一下是否是你想要的效果追问

关于点的显示类型,比如可以用“*”,“.”,还有什么形状进行点的显示吗?

追答

'+' 'o' 'x' 's' 'd' 'h'
加号 圆圈 交叉符号 方格 菱形 六边形
plot3(a(1),a(2),a(3),'r*','markersize',20)%%%调整点大小和颜色

本回答被提问者采纳
相似回答