2011-12-16 14 views
1

マーカの色が第3列に条件付けられている場合、matlab(2D)に散在することは可能ですか?私はループを使用して保持することができますが、おそらくより単純な方法があります。matlabの条件付き散布

キリスト教

答えて

5

スキャッタリングの4番目の引数で色を指定できます。 the documentationから:

散乱(X、Y、S、C)

...

Cは、各マーカーの色を決定します。 CがXとYと同じ長さのベクトルである場合、Cの値は現在のカラーマップの色に線形にマッピングされます。 Cが1行3列の行列の場合、マーカの色をRGB値として指定します。散布図に3つの点があり、カラーをカラーマップのインデックスにしたい場合、Cは3行1列の行列にする必要があります。 Cはカラーストリングでもあります(カラーストリング指定子のリストについては、ColorSpecを参照してください)。

ような何か試してみてください:あなたのデータセットが大きく、いくつかの異なる色のカテゴリがある場合

X = rand(1, 10); 
Y = rand(1, 10); 
colour = randi(3, 1, 10) 

colour = 

2  1  3  1  3  1  2  2  3  1 

scatter(X, Y, [], colour, 'filled'); 

enter image description here

を、私は上の保留とplotを使用すると、より高速な方法であることを発見する傾向がありますプロットする。

2

@ Billの回答は良いですが、Statistics Toolboxにアクセスできる場合は、gscatterもお試しください。

+0

+1とてもいいです、私は前にこれを見つけていませんでした。 –