我有 3 组 30 个数据点 X、Y、Z。我想制作第四维颜色。然而,我想使用的第 4 个维度的长度与我的 X、Y、Z(133 对 30)不同。
这是在 MATLAB 中使用 scatter3 函数时的问题,因为颜色维度必须与 X、Y、Z 的大小匹配。
我还想以 .avi 格式为这个情节制作动画,并随着电影的进行而改变第 4 维(颜色)。
提前致谢。
创建一个 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”属性。