MATLAB在x轴上显示实时日期

时间:2013-12-04 01:40:41

标签: matlab date labels

我创建了一个图表,显示肢体运动的时间(2.56秒)。我的图表如图1所示。enter image description here

获取图表的代码是:

x=data(1000:1256,2)
Fs=100      
Ts=1/Fs         
L=length(x)  
t = (0:L-1)*Ts;  
figure      
plot(t,x);

现在我试图将时间单位更改为实时数据(日期和时间,记录测量结果时),我希望得到如图2所示的内容:标记x轴的日期和时间。理想情况下,我希望有6个时间标记。

使用:

datestr(data(1000),'dd-mm-yyyy HH:MM:SS AM')

我知道第一次(我的数据的第1000行)是10-07-2010 11:31:50 PM,最后一行(1256)是10-07-2010 11:43:42 PM。每1秒始终记录50条记录,但问题是,测量结果不是经常记录的 - 我的意思是,有时几分钟没有测量(没有移动时)。

我一直在尝试使用XTick等,但我不知道如何为我的x轴选择实时数据以及如何用实时测量来标记x轴。

labels=datestr(data);
set(gca,'XTick',1:6; 'XTickLabel',labels);

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

这应该格式化标记

datetick('x', 'dd-mm-yyyy HH:MM:SS AM')

设置勾号后可能会出现

set(gca,'XTick',[ ... ])

数组中的哪个位置应放置时间的datenum值。

考虑这个最小的例子:

x = linspace(now-2, now, 30);
y = rand(30, 1);
plot(x, y)
datetick('x', 'dd-mmm HH:MM')