0

我有 3 组 30 个数据点 X、Y、Z。我想制作第四维颜色。然而,我想使用的第 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 回答