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.

Categories

Find more on Dates and Time in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!