在matlab中可视化3d数据量

visualizing 3d data volume in matlab

我在 3d (x,y,z) 中有很多点,对于每个点我都有它的视差(0-10 值),不同的点可以有相同的视差。

我想绘制此数据,每个点都会根据其差异具有颜色。

我希望它是这样的图片:(小的差异只有一种颜色,随着它变大颜色会发生变化)

我该怎么做?

使用scatter3:

x = rand(1,1000);
y = rand(1,1000);
z = rand(1,1000); %// example x, y, z
d = x.^2+y.^2+z.^2; %// example disparity
scatter3(x,y,z,8,d,'fill');
colorbar

scatter3 的第四个输入参数是标记大小。第五个决定颜色。 'fill' 使用填充标记。