1

假设我有一个数据集,它由三个向量组成,这些向量表示 3D 轨迹。可以使用以下命令在 Matlab 中绘制此时间数据: plot3(Data(:,1),Data(:,2),Data(:,3),'.r');

输出是点的“云”: 在此处输入图像描述

我想可视化轨迹,所以我的问题是:如何修改绘图以使点的颜色代表时间数据的索引(时间)? 只是为了让我的观点更清楚一点,想象一个点的轨迹,这些点的颜色从红色“平滑”地变化为蓝色,以一种使我能够可视化轨迹的方式。

4

1 回答 1

1

我能想到两个答案:

surface像这样在 3D 线上使用函数:

color=1:length(Data(:,1));

surface([Data(:,1);Data(:,1)],[Data(:,2);Data(:,2)][Data(:,3);Data(:,3)],[color ;color],...
    'facecol','no','edgecol','interp');

这是一个非常好的技巧,但它绘制了一条线。

如果要绘制点,可以定义 RGB 颜色并绘制单个点,hold on如下所示:

hold on

for i=1:length(Data(:,1)) 

    plot3(Data(i,1),Data(i,2),Data(i,3),'Color',[(i/100*255)/255 0/255 (255-(i/100*255))/255],'LineWidth',2)

end    

shg
于 2013-08-05T07:54:49.640 回答