plot data instead of number on the xaxis
조회 수: 2 (최근 30일)
이전 댓글 표시
Hi, I have the following problem: I would like to plot two time series in the same graph which is working fine, but I would like to have displayed the data (here the respective vector is also called date) in a format such as: 01/01/2010 The plot should show the first day of each months so 01/01/2001 01/02/2001 and so on
the code I am using at the moment ist the following one:
filename = 'SPXvsVIX.xlsx';
sheet=2;%3
xlRange='C7:C3402';
date=xlsread(filename, sheet, xlRange);
xlRange='D7:D3402';
SPX=xlsread(filename, sheet, xlRange);
xlRange='I7:I3402';
VIX=xlsread(filename, sheet, xlRange);
dateMatlab=date+693960;
dataSet=[dateMatlab,SPX,VIX];
%enter period you will look at
%start date:
DateString='05-Aug-2002';
%DateString='01-Jan-2001';
StartDate=datenum(DateString);
%end date
DateString='30-Jan-2003';
%DateString='31-Dec-2001'
EndDate=datenum(DateString);
%returns a data matrix consisting only of those datas which are between
%start and end date
dataSet = dataSet(dataSet(:,1)>=StartDate & dataSet(:,1)<=EndDate, :) ;
dates=datenum(dataSet(:,1));
%SPX
SPX=dataSet(:,2);
%VIX
VIX=dataSet(:,3);
plotyy(dates,SPX,dates,VIX);
댓글 수: 0
채택된 답변
per isakson
2013년 5월 18일
편집: per isakson
2013년 5월 18일
You need to assign date string values to the axes' property, XTickLabel. On-line help: For example, the statement:
set( gca, 'XTickLabel', {'One';'Two';'Three';'Four'} )
The width of the date strings might become a problem. The property XTick controls number and position of the xtick labels.
.
Run this example
sdn = [ 1 : 6 ] + 735370;
date_strings = datestr( sdn, 'dd-mmm-yyyy' );
plot( [1:6] )
axh = gca;
set( axh, 'XTickLabel', date_strings )
댓글 수: 3
per isakson
2013년 5월 18일
편집: per isakson
2013년 5월 18일
'One', 'Two' and 'Three' serve as examples of string values
"not necessarily need the code above" AFAIK: there is no other way to replace the numbers by text
See example above
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Dates and Time에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!