我有3组30个数据点X,Y,Z。我想制作第四维颜色。然而,我想要使用的第四维度与我的X,Y,Z的长度不同(133 vs 30)。
在MATLAB中使用scatter3函数时出现问题,因为颜色维度必须与X,Y,Z的大小相匹配。
我还想以.avi格式为这个剧情制作动画,并在影片进展时改变第四维(颜色)。
提前致谢。
答案 0 :(得分: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
编辑:记下色彩图和轴'攀爬'属性。