我一直在谷歌上搜索一段时间,但无法找到解决我问题的方法。我是业余matlab用户,我想创建一个3D散点图,为此我有一个矩阵包含3D空间中的几个点:
>> size(A)
ans =
2511 3
我能够使用“scatter3”功能创建一个3D散点图,但现在我对3D点进行了颜色编码。
scatter3(A(:,1),A(:,2),A(:,3));
这将绘制数据,但现在我想添加一个基于z值的颜色编码... 颜色本身并不重要。它可以是彩虹光谱或温度光谱等等。我只想对它们进行颜色编码以区分点的z值。
有人可以帮我这个吗?谢谢!
答案 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