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 に答える