2011-11-22 36 views
5

我一直在Google上搜索一段時間,但找不到解決方案。我是一個業餘的MATLAB用戶,我想創建一個3D散點圖,爲了這個,我有一個包含在三維空間中的幾個點矩陣:由Z值着色的3D scatterplot

>> size(A) 

    ans = 

     2511   3 

我能創建使用「scatter3」功能的3D散點圖,但現在我在卡片上對3D點進行了顏色編碼。

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

這將繪製的數據,但現在我想添加一個基於Z值顏色編碼... 顏色自理沒有太大的關係。它可能是彩虹光譜或溫度譜或其他。我只是想對它們進行顏色編碼來區分這些點的z值。

有人可以幫我嗎?謝謝!

+0

我的答案是直接從文檔,順便說一句:http://www.mathworks.com/help/techdoc/ref/scatter3.html –

回答

7

您必須提供更多參數給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 
+0

感謝你,工作正常...我不知何故,只是試圖改變大小,但沒有通過顏色的論點......愚蠢的我......謝謝你! – evident