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

matlab plot matlab-figure scatter-plot colormap

7869 观看

2回复

1196 作者的声誉

我需要绘制一个3D图形,每个数据点使用色图使用第4个变量的值进行着色。可以说我有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的新手,真的不知道如何进行。任何帮助将不胜感激。

提前致谢!

作者: BajajG 的来源 发布者: 2014 年 9 月 12 日

回应 (2)


6

22642 作者的声誉

决定

因此,只需将其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

在此处输入图片说明

作者: thewaywewalk 发布者: 12.09.2014 08:55

1

586 作者的声誉

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

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

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

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

gcf获取您要绘制的当前数据的位置,以在分散大量数据时显着提高响应速度。

作者: Thomas 发布者: 12.09.2014 08:56
32x32