绘制数据与时钟时间

raz*_*han 1 matlab plot datetime date

我有高分辨率数据(500赫兹).我在中午12:00:00开始

总共有720万个数据点<7,200,000x1 double>被称为数据.我如何实时绘制它,如下午12点,下午1点,下午2点,下午3点,下午4点等(日期刻度)

Amr*_*mro 5

考虑这个例子:

Fs = 500;                                         %# sampling frequency (Hz)
startTime = datenum('12:00:00 PM','HH:MM:SS PM'); %# recording start time
x = cumsum(rand(7200000,1)-0.5);                  %# some random data

t = (0:(numel(x)-1)) ./ Fs;                       %# time in seconds
t = t/3600/24 + startTime;                        %# time in days (serial date)

%# plot
plot(t(1:2000:end), x(1:2000:end))                %# plot every 2000 values
datetick('x','HH:MM:SS PM')
xlabel('Time'), ylabel('Data')
Run Code Online (Sandbox Code Playgroud)

截图

使用DATETICK功能完成日期轴刻度标记的格式化.阅读文档以了解如何自定义日期格式.

请注意,由于您有数百万个点,我选择绘制一个子样本(每2000个值),但如果您愿意,可以轻松更改它以绘制整个数据...