plot chart with the respective date on the x axis

1 view (last 30 days)
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

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 24 Mar 2013
Edited: Azzi Abdelmalek on 24 Mar 2013
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)
  11 Comments
Locks
Locks on 24 Mar 2013
sorry, I have just seen now that there is still one problem. the date should be displayed at 1.1. of each year not at the end of a year, how can I change that?

Sign in to comment.

More Answers (1)

Will Forfang
Will Forfang on 24 Mar 2013
Sounds like you need to adjust the "ticks" of your x-axis.

Community Treasure Hunt

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

Start Hunting!