2016-05-14 9 views
1

各点(x、y、z)にその値に基づいて割り当てられた色があるグラフをプロットする必要があります。 Matlabでこれをどのようにすることができますか? 私は試しました: scatter3(x、y、z、c) しかし、私は色が難しかったです。グラフ内の点に色を割り当てる方法

この例を検討してください。 (x_i、y_i、z_i)の値はv_iです。私は、最大値を持つポイントを赤にし、最小値を持つポイントを青にします。

+0

[この]の可能性のある重複(http://stackoverflow.com/questions/34603566/how-can-i-conditionally-colour-points-on-a-scatter-plot-in-matlab/34603715 #34603715)質問。それをチェックして、それがあなたに答えることができない場合は、実際に何が失敗しているかを実際に見ることができるようにコードを投稿してください。 –

答えて

1

このコードを使用してください。私はあなたがzに基づいて色を必要とすると仮定しています。そのため、スキャッタ3には2番目のzが存在します。どの色を表示するかによって、別のマトリックスに置き換えることができます。

s=50; %size of marker 
scatter3(x, y, z, s ,z,'filled'); 
colormap(jet); 
colorbar; 

色のバリエーションが青 - 白 - 赤である必要がある場合。次に、このコードを使用します。

s=50; %size of marker 
scatter3(x, y, z, s ,z,'filled'); 
m = size(get(gcf,'colormap'),1)/2; 
steps = (0:m-1)'/max(m-1,1); 
cm_red_blue = [ steps steps ones(m,1);ones(m,1) flipud(steps) flipud(steps) ]; 
colormap(cm_red_blue); 
colorbar; 
1

あなたは次のようにそれを使用する必要があります。

sはマーカーの大きさである
scatter3(x, y, z, s, c) 

Matlabのように使用すると、色はサイズの値であり、おそらくエラーを返すと考えられます。

関連する問題