绘制3D彩色编码时间序列

时间:2013-08-05 06:23:55

标签: matlab colors plot visualization

假设我有一个数据集,它由三个向量组成,代表3D中的轨迹。可以使用以下命令在Matlab中绘制此时态数据: plot3(数据(:,1),数据(:,2),数据(:,3),' .R&#39);

输出是"云"点数: enter image description here

我想想象一下轨迹,所以我的问题是:如何修改绘图以使点的颜色代表时态数据的索引(时间)? 只是为了让我的观点更加清晰,想象一下能够平滑地改变颜色的点的轨迹"从红色到蓝色,使我能够看到轨迹。

1 个答案:

答案 0 :(得分:1)

我能想到两个答案:

在3D线上使用surface功能,如下所示:

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