Построение по оси времени в Matlab с использованием dateTick и dateNumbers - PullRequest
1 голос
/ 24 июня 2011

Я делаю сценарий, чтобы нанести на карту события всплеска сигнала на водопаде.С осью X, являющейся частотой, и осью Y, являющейся временем, я строю линию от [частота события event-startTimeStamp] до [частота события event-endTimeStamp], чтобы представить каждый пакет.:

tstart = datenum(0,0,0,0,0,0);
tend = datenum(0,0,0,0,0,1);
timeInterval=tend-tstart;
xlim([0 10]);
hold on;

cla;
timeAxis = linspace(tstart, tend, 100);
set(gca,'YTick',timeAxis,'FontSize',6,'YDir','reverse');
datetick('y','HH:MM::SS.FFF','keepticks');
plot([1 1],[tstart tstart+timeInterval/4]);
plot([2 2],[tstart+timeInterval/8 tstart+timeInterval/2]);
tstart=tstart + timeInterval;
tend=tend + timeInterval;

Можно повторить абзац из пункта, чтобы отобразить «сигналы» с шагом в одну секунду позже.Это отлично работает.Если я изменю первые две строки на следующие: edit: используя это значение, потому что это метка времени первого пакета

tstart = datenum(2011,6,13,15,10,40.999);
tend = tstart + datenum(0,0,0,0,0,1);

Сюжет выглядит ужасно, а метки перепутаны в черный беспорядок.Я не могу понять, почему это происходит.Кто-нибудь знает?(копируемый код, если вы хотите попробовать его)

-Daniel

1 Ответ

0 голосов
/ 24 июня 2011

Старайтесь не показывать все отметки, а только их подмножество. Нечто подобное:

set(gca,'YTick',timeAxis(1:10:end))

Также читайте о DATETICK опции: 'keepticks' и 'keeplimits'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...