Matlab4D(3d+;彩色)绘图与动画

Matlab4D(3d+;彩色)绘图与动画,matlab,animation,colors,3d,avi,Matlab,Animation,Colors,3d,Avi,我有3组30个数据点X,Y,Z。我想制作第四维颜色。然而,我想使用的第四维与我的X,Y,Z(133 vs 30)的长度不同 在MATLAB中使用scatter3函数时,这是一个问题,因为颜色维度必须与X、Y、Z的大小相匹配 我还想用.avi格式制作这个情节的动画,并随着电影的进展改变第四维度(颜色) 提前感谢。创建一个2D或3D矩阵来定义颜色:如果使用颜色映射中索引的颜色,则为2D;如果要提供RGB值,则为3D X=1:30;Y=randperm(30);Z=ones(size(X)); vol

我有3组30个数据点X,Y,Z。我想制作第四维颜色。然而,我想使用的第四维与我的X,Y,Z(133 vs 30)的长度不同

在MATLAB中使用scatter3函数时,这是一个问题,因为颜色维度必须与X、Y、Z的大小相匹配

我还想用.avi格式制作这个情节的动画,并随着电影的进展改变第四维度(颜色)


提前感谢。

创建一个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

编辑:请注意colormap和axes“clim”属性

为什么它的长度不同?颜色向量如何与XYZ向量的元素匹配?如果它通过物理尺寸(而不是像素)链接,则您可能可以通过插值XYZ数据或向下采样颜色数据来解决此问题。每个点是否需要自己的颜色,还是希望所有点都是相同的颜色,并且随着时间的推移颜色会发生变化?每个点可以是相同的开始颜色,但是我可能想改变它,这样每个点都可以遵循不同的颜色模式。嘿,丹,我不能直接回复你的评论,因为某种原因-颜色是不同的长度,因为它代表了一个随时间变化的量。这是实验数据。X、Y、Z是固定的分量,第四维是我随时间变化的测量值(电压)。上面的代码只是将我的所有点更改为浅绿色。我想让他们改变颜色,因为它通过第四维度的进展。第四维是我用DAQ记录的电压。所以它从数据点1变为133,如果可能的话,我希望动画能显示出来。谢谢编辑。这个例子将随着时间的推移产生不断变化的颜色。这绝对是惊人的!!我现在唯一需要做的就是制作一个与颜色搭配的传奇。这真是一个令人难以置信的可视化工具!您对如何创建这样的传奇有什么想法吗?首先请看一下
colorbar
。您可以从许多预定义的
colormap
s中进行选择,甚至可以创建自己的。只需用谷歌搜索它,或在matlab中键入
help colorbar
help colormap