matlab用四列数据做一个四维散点图,怎么自定义不同数值对应的点的颜色。

如题,我有四列数据,X,Y,Z,P,其中X,Y,Z表示三维坐标,P表示强度,取值1,2,3,4.我想做一个三维图,但是在不同坐标处P的取值不同,那么对应点的颜色也不同,即一个4维图。比如P=1,将那一点定义成黑色,P=2定义成蓝色,P=3定义成红色,P=4定义成绿色。谢谢!

用scatter3。
具体请看一下该函数的帮助,举的例子就是类似的用途,如下:

1
2
3
4
5
6
7

[x,y,z] = sphere(16);
X = [x(:)*.5 x(:)*.75 x(:)];
Y = [y(:)*.5 y(:)*.75 y(:)];
Z = [z(:)*.5 z(:)*.75 z(:)];
S = repmat([1 .75 .5]*10,prod(size(x)),1);
C = repmat([1 2 3],prod(size(x)),1);
scatter3(X(:),Y(:),Z(:),S(:),C(:),'filled'), view(-60,60)追问

恕我愚钝,初学matlab,能否针对我这个问题具体指导一下?谢谢!

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答