0

X、Y、Z の 30 個のデータ ポイントが 3 セットあります。4次元カラーを作りたいです。ただし、使用したい 4 番目の次元は、X、Y、Z とは長さが異なります (133 対 30)。

これは、MATLAB で scatter3 関数を使用する場合に問題になります。これは、色の次元が X、Y、Z のサイズと一致する必要があるためです。

また、このプロットを .avi 形式でアニメーション化し、映画の進行に合わせて 4 次元 (色) を変化させたいと考えています。

前もって感謝します。

4

1 に答える 1

1

2D または 3D マトリックスを作成して色を定義します。カラーマップにインデックス付けされた色を使用する場合は 2D、RGB 値を指定する場合は 3D を使用します。

X=1:30;Y=randperm(30);Z=ones(size(X));
voltage_matrix = ...; %# 30 by 133 
cdata = voltage_matrix;
handle = scatter3(X,Y,Z);

colormap('jet')
set(gca,'clim',[min(voltage_matrix) max(voltage_matrix)])

for t=1:size(cdata,2) %# 1 to 133
    set(handle, 'cdata', cdata(:,t));
    pause(.1)
end

編集:カラーマップと軸の「clim」プロパティに注意してください。

于 2012-07-12T15:39:59.900 に答える