我试图描绘失业率随着时间的推移,但是年数以10年的频率显示。我希望每5年有一个x轴刻度,但似乎无法管理这个因为xticks不在dateformat中
如果你想看看,下面是相关的代码。
clear;
X=xlsread('UNRATE.xls');%Import Data
s_year=1950;
e_year=2015;
X=X((s_year-1948)*12+1:(e_year-1948)*12+12);
startdate = datenum('01-1950','mm-yyyy');
enddate = datenum('12-2015','mm-yyyy');
dt = linspace(startdate,enddate,792);%create numeric dates
plot(dt,X);%plot data against dates
datetick('x','yyyy');%format dates in display
recessionplot;
title('Unemployment Rate in the US over time');
xlabel('Year'); % x-axis label
ylabel('Unemployment Rate'); % y-axis label
答案 0 :(得分:3)
使用时间序列时,您可以做的最好的事情是手动修改轴的XTick
属性,以便在执行绘图后满足您的需要。例如:
%...
plot(dt,X);
set(gca,'XTick',datenum(1950:5:2015,1,1));
%...
工作示例:
clear;
s_year=1950;
e_year=2015;
X= rand(792,1);
startdate = datenum('01-1950','mm-yyyy');
enddate = datenum('12-2015','mm-yyyy');
dt = linspace(startdate,enddate,792);
xticks = datenum(1950:5:2015,1,1);
xlabels = cellstr(num2str(year(xticks.')));
figure();
plot(dt,X);
set(gca,'XTick',xticks);
set(gca,'XTickLabel',xlabels);
输出:
没有刻度调整的原始图: