使用dateTick和dateNumbers在Matlab中使用时间轴绘图

时间:2011-06-24 14:32:38

标签: matlab plot

我正在编写一个脚本来绘制pesudo-waterfall上的突发信号事件。 x轴为频率,y轴为时间,我绘制一条直线 [event-frequency event-startTimeStamp]到[event-frequency 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;

可以重复cla中的段落以稍后的时间增量绘制“信号”一秒。这很好用。 如果我将前两行更改为以下内容:编辑:使用此值cuz它是第一个突发的时间戳

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

情节看起来很可怕,标签搞得一团糟。我无法理解为什么会这样。有人知道吗? (如果你想尝试一下,可复制的代码)

-Daniel

1 个答案:

答案 0 :(得分:0)

尽量不要显示所有刻度线,而只显示其中的一部分。一些事情:

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

另请阅读DATETICK选项:'keepticks''keeplimits'