具有4D数据的3D散点图

时间:2014-09-12 20:39:26

标签: matlab plot matlab-figure scatter-plot colormap

我需要使用色彩图绘制一个3D图形,每个数据点用第四个变量的值着色。假设我有4个变量X,Y,Z和W,其中W = f(X,Y,Z)。我想要一个以X,Y和Z为三轴的3D图。声明scatter3(X,Y,Z,'filled','b')给出了3D的散点图,但是我希望通过将点表示为额外参数来将Z的值合并到图中(具有不同的区域:具有高Z值的数据点的较大圆圈)对于具有低Z值的数据点或通过使用色图绘制具有不同颜色的数据点的小圆圈。但是,我是MATLAB的新手,并不知道如何继续。任何帮助将受到高度赞赏。

提前致谢!

2 个答案:

答案 0 :(得分:6)

所以只需使用z作为大小矢量(第4个输入)以及颜色矢量(第5个输入):

z = 10*(1:pi/50:10*pi);
y = z.*sin(z/10);
x = z.*cos(z/10);

figure(1)
scatter3(x,y,z,z,z)

view(45,10)
colorbar

尺寸向量需要大于0,因此您可能需要相应地调整z

enter image description here

答案 1 :(得分:1)

你已经快到了......只需使用

scatter3(X,Y,Z,s,W);

其中s是点大小(标量,例如3),W是具有W值的向量。 您可能还想发布

set(gcf, 'Renderer','OpenGL');

当gcf得到你当前的数字时,你正在绘制,以便在散布大量数据时显着提高响应能力。

相关问题