从 2008 年 1 月到 2011 年 1 月,我想每隔一个月标记我的时间序列。
编辑:时间序列已经有一个 datenum 格式的时间组件:
733408 x1
733410 x2
etc...
对于在我最初的问题陈述中没有明确说明这一点,我深表歉意。
一个简单的每年两次的实现变得非常混乱:
years = [2008 2008 2009 2009 2010 2010 2011];
months = [1 7 1 7 1 7 1];
days = ones(1,7);
for k = 1:7
dates(k) = datenum(years(k), months(k), days(k));
end
labels = datestr(dates,'mmm-yy');
set(gca,'XTick',dates);
set(gca,'XTickLabel',labels);
要将其扩展到每月刻度:
years = [2008 ...repeat10times 2009 ...repeat10times 2010 ...repeat10times 2011]
m = 1:11; months = repmat(m,1,3)
days = ones(1:34)
一定有更简单的方法!