由Z-Value着色的3D散点图

时间:2011-11-22 08:57:10

标签: matlab scatter-plot matlab-figure color-coding

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

>> size(A)

  ans =

        2511           3

我能够使用“scatter3”功能创建一个3D散点图,但现在我对3D点进行了颜色编码。

  
    

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

  

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

有人可以帮我这个吗?谢谢!

1 个答案:

答案 0 :(得分:8)

您必须为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