지난번 글에 날짜를 그래프에 넣은 방법에 대해 공부를 하다가 잠시 본분을 망각하고 결론을 내지 못했다. 해서 오늘 다시 datetick함수를 이용해서 날자를 넣는 법에 대해 다시 공부한다. 사실 R을 사용할땐 문제가 없었는대 매트랩은 정교하다.
http://es.mathworks.com/matlabcentral/answers/5111-plot-question-monthly-data-on-yearly-axis
http://stackoverflow.com/questions/13451067/matlab-datetick-at-even-monthly-intervals
먼저 가상의 날짜를 만들어서, 이중에서 다시 Business Days만을 골른 후 x축에 그리고, 가상의 Y값 Y를 만들어 그래프를 그려보자.
startD=datenum('25-07-2003','dd-mm-yyyy');
endD=datenum('31-12-2013','dd-mm-yyyy');
year= datenum(busdays('7/25/2003','12/31/2013','daily'));
n=length(year)
dates=linspace(startD,endD,n);
Y=rand(n,1);
plot(dates,Y)
x축에 이상한 숫자가 나온다!.

그런데 다음 처럼 datetick을 추가하면 x축에 연도가 나온다!!!
plot(dates,Y)
datetick('x','yyyy','keepticks')

그리고 다음 코드의 차이점도 알아보기 바란다.
plot(dates,Y)
datetick('x','yyyy','keeplimits')
또 년도만 말구, 연월을 포시히고 싶으면
datetick('x','yyyy-mm','keepticks') %keeplimits
또 연월일을 표시하고 싶으면
datetick('x','yyyy-mm-dd','keepticks') %keeplimits
물론 순서를 바꾸어도 되고 mm-dd-yyyy, Dec-2014처럼 mmm-yyyy를 해도 되고, mmm-yy를 하면 Dec-14가 된다.
또 연월일시를 표시하고 싶으면??? 숙제입니다. 연구하세요.