用Z值着色的3D散点图

6

我是一名业余的MATLAB用户,想要创建一个三维散点图,但在Google上搜索了一段时间仍然没有找到解决方案。我手头有一个包含多个三维空间点的矩阵:

>> size(A)

  ans =

        2511           3

我使用"scatter3"函数创建了一个3D散点图,但现在我卡在了给3D点上色这一步。

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

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

有人能帮我吗?谢谢!


顺便说一下,我的答案直接来自文档:http://www.mathworks.com/help/techdoc/ref/scatter3.html - reve_etrange
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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接