Отображение данных в зависимости от времени - PullRequest
1 голос
/ 02 августа 2011

У меня есть данные с высоким разрешением (500 Гц).Я начал в 12:00:00

В общей сложности у меня есть 7,2 миллиона точек данных <7 200 000 x1 double>, называемых данными.Как бы я построил график в реальном времени, например, в 12, 13, 14, 15, 16 и т. Д. (Отметки даты)

1 Ответ

5 голосов
/ 02 августа 2011

Рассмотрим этот пример:

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')

screenshot

Форматирование отметок на оси даты выполняется с помощью функции DATETICK .Прочитайте документацию, чтобы узнать, как настроить формат даты.

Обратите внимание, что, поскольку у вас есть миллионы точек, я решил построить подвыборку (каждые 2000 значений), но вы можете легко изменить ее для построения графика.все данные, если хотите ...

...