MATLAB Answers

Plotting dates on x-axis

902 views (last 30 days)
Ben Griffiths
Ben Griffiths on 8 May 2015
Edited: devi r nair on 22 Jan 2021
Hello! I have a 339x1 cell with dates in the format (ex. : 2015-05-01, 2015-05-04), and a 339x1 double with corresponding numbers. I'm trying to figure out how to plot the data with the dates on the x axis and numbers on the Y, but it gives me an error trying to plot data from a cell. I tried using cell2mat, but that just gives me a 339x10 char which also can't be plotted. Pretty new to Matlab, would really appreciate any help!

  0 Comments

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 8 May 2015
You need to convert the date strings to date numbers with the datenum function, plot them as date numbers, then use the datetick function to plot them as formatted dates and times.

  7 Comments

Show 4 older comments
Alex Backer
Alex Backer on 27 Apr 2020
What a beautiful function, thanks!
Star Strider
Star Strider on 27 Apr 2020
My pleasure!
devi r nair
devi r nair on 22 Jan 2021
i have 15937 data points starting from 16-05-1975 till 31-12-2018. the data points are numbered from 0-15637. i used this code for ploting date from 16-05-1975 till 31-12-2018 but shows wrong x axis values.
start = datenum(1975,05,16);
fin=datenum(2018,12,31);
datetick('x', 'yy mmm dd', 'keepticks')
pls help what is wrong here,

Sign in to comment.

More Answers (1)

Peter Perkins
Peter Perkins on 13 May 2015
An alternative to Star Strider's suggestion, if you are using MATLAB R2014b or later, would be
plot(datetime(datecell),y)
That's it.

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!