6

我已经在谷歌上搜索了一段时间,但找不到解决我的问题的方法。我是一个业余 matlab 用户,我想创建一个 3D 散点图,为此我有一个包含 3D 空间中的多个点的矩阵:

>> size(A)

  ans =

        2511           3

我能够使用“scatter3”函数创建一个 3D 散点图,但现在我在对 3D 点进行颜色编码时遇到了一些困难。

scatter3(A(:,1),A(:,2),A(:,3));

这将绘制数据,但现在我想添加基于 z 值的颜色编码......颜色本身并不重要。它可能是彩虹光谱或温度光谱或其他任何东西。我只想对它们进行颜色编码以区分点的 z 值。

有人可以帮我吗?谢谢!

4

1 回答 1

9

您必须为scatter3.

scatter3(X,Y,Z,S,C);

S允许您为每个标记指定区域(使用矢量)或为所有标记指定单个区域,同时C允许您指定颜色。如果C是一个向量,它的值将线性映射到当前颜色图。要更改颜色图,请调用colormap(jet)例如。请参阅 上的文档colormap

对不起,如果这令人困惑。精简版:

scatter3(A(:,1),A(:,2),A(:,3),9,A(:,3));
colormap(jet); %# or other colormap
于 2011-11-22T09:57:48.423 回答