MATLAB 에서 다양한 그래프를 이용해 왔지만 제가 하는 분양의 특성상 축을 날짜로 표시할 일은 없었습니다.
그런데 주식이나 재무와 같은 분야에서 MATLAB 을 어떻게 이용하나 봤더니 x 축을 날짜로 표시하는게 일반 적이더군요.
MATLAB 에서 특정 축을 date format 으로 나타내 주기 위해서는 datetick () 을 사용하면 됩니다.
아래 예제는 제가 사용하는 HTS 에서 특정 회사의 주가 차트를 로드해서 종가 차트를 그려 본 겁니다.
주가 파일은 다음과 같이 생겼습니다. 첫째 열이 날짜고 5번째 열이 종가 입니다.
%% 주가 차트 읽기
[num,txt,raw] = xlsread('TestStock.xlsx'); % 주가 파일 읽기
date_v=num(:,1); % date
date_nv=datenum(num2str(date_v),'yyyymmdd'); % 형식에 맞게 변환
price_v=num(:,5); % 종가
%% 차트 그리기
figure,plot(date_nv, price_v), grid on % 종가 차트 그리기
xlabel('Date [Year-Month-Day]'), ylabel('Price')
datetick('x','yy-mm-dd') % x 축을 날짜(년-월-일)로 표시
%%
위 코드에서 datetick('x','yy-mm-dd') 의 'x'는 x 축을 말하는 겁니다.
y 축을 날짜로 만들어 주고 싶다면 'y' 라고 설정하면 되겠죠.
그리고 'yy-mm-dd' 부분은 날짜를 나타내고 싶은 형식을 의미 합니다.
날짜의 형식에 대해서는 다음 주소의 MATLAB help 를 확인 해 보시기 바랍니다.
http://www.mathworks.co.kr/help/techdoc/ref/datetick.html
축의 tick 값을 날짜로 나타내기 위해서는 당연히 축의 값이 날짜 관련 값이어야겠죠.
따라서 datetick()을 이용하는 그래프의 축 데이터는 datenum() 함수를 이용해서 날짜를 표시해 주는 것이 좋습니다.
위 예제에 따른 결과는 다음과 같이 나옵니다.
종가만 이용해서 선 차트를 그렸더니 자주 보던 캔들 차트와 달라서 그런지 약간 어색하긴 하네요 ㅋㅋㅋ
'programming language > MATLAB' 카테고리의 다른 글
MATLAB 파일이름 다룰때 유용한 함수들 fileparts, fullfile, filesep (0) | 2012.07.01 |
---|---|
MATLAB 그래프 자동 업데이트 linkdata (0) | 2012.06.30 |
MATLAB assert() 함수 (0) | 2012.06.28 |
MATLAB 이미지 gray scale 변환 (7) | 2012.06.27 |
MATLAB 윈도우에서의 파일 쓰기 줄 바꿈 (8) | 2012.06.17 |
MATLAB log 저장하기 diary (0) | 2012.06.16 |
MATLAB Harmonographs (0) | 2012.06.11 |
MATLAB MAP data structure (0) | 2012.06.10 |
댓글