plot data instead of number on the xaxis

4 次查看(过去 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);

采纳的回答

per isakson
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
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 CenterFile Exchange 中查找有关 Labels and Annotations 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by