MATLAB: Plot chart with the respective date on the x axis

data xaxis matla

Hi,
I have a data set with two columns, in the second there are daily historical data which I would like to plot. This is no problem. In the first column of the data set, there is the respective data which should be displayed on the x-axis.
The thing is that the whole data set consists of more than 5000 rows and I do not want to have displayed 5000 dates on the x-axis but just the years, as follows
2000 2001 2002 2003 2004 2005 2006 2007 2008 2009
In excel that is no big deal but I do not know how to do that in Matlab

Best Answer

Look at this example
dates=datenum('01/01/2000'):datenum('01/01/2009')
y=sin(0.01*dates)
plot(dates,y)
d=datevec(dates)
[a,idx]=unique(d(:,1),'first')
set(gca,'xtick',dates(idx),'xticklabel',a)