Convert datenum to datetime for multiple holded plots

9 views (last 30 days)
My code:
h1 = plot(handles.x_datenum,handles.y,'.b');
hold on;
h2 = plot(ffitresult)
hold off;
Capture.JPG
X axis is datenum*10^9 because fit doesnt work if axis is datenum.
ffitresult = fit(handles.x_datenum.', handles.y, 'exp2');
I would like to see x axis in datetime format or in hours.
I tried this without success, it works only for one plot:
h1 = plot(handles.x_datenum,handles.y,'.b');
h1.XData = h1.XData/10^9
hold on;
h2 = plot(ffitresult)
h2.XData = h2.XData/10^9
%% Convert here datenum to datetime using datetick('x',dateFormat)
hold off;

Answers (1)

Cris LaPierre
Cris LaPierre on 1 Apr 2019
It depends on your datenum source, but something like this should work.
t = datetime(731885.75,'ConvertFrom','datenum')
t =
datetime
31-Oct-2003 18:00:00
If your datenum is from Excel, use this instead
xlDate = 37925.75;
t = datetime(xlDate,'ConvertFrom','excel')
t =
31-Oct-2003 18:00:00
There are several datatypes supported by datetime. See this doc page for a description.
  2 Comments
Om Gurav
Om Gurav on 2 Dec 2019
Edited: Cris LaPierre on 2 Dec 2019
Hi,
I am having error in plotting time on x axis.
time = cdfread('file name', 'Variable', {'Timestamp'},'ConvertEpochToDatenum', true);
time1 = cell2mat(time);
time2=datetime(time1,'ConvertFrom','datenum');
after that i get date and time array like this,
'02-Feb-2017 00:00:00'
'02-Feb-2017 00:00:00'
'02-Feb-2017 00:00:00'
'02-Feb-2017 00:00:00'
'02-Feb-2017 00:00:00'
'02-Feb-2017 00:00:00'
'02-Feb-2017 00:00:00'
'02-Feb-2017 00:00:00'
'02-Feb-2017 00:00:00'
'02-Feb-2017 00:00:00'
Now I have to plot only time from this cell on x axis.
please help.
Cris LaPierre
Cris LaPierre on 2 Dec 2019
It would appear from your output there is no time information in your file (notice in the output that all times are 00:00:00). That, or your code is not capturing it. Therefore, all your data points are getting plotted at the same X-point
Perhaps look into the options for cdfread? Without seeing yoru data, it's hard to comment on what should be happening.
Also, it's always best to start your own question rather than asking in an existing one. It's more likely to be seen by others in the community instead of just the handful of us following this one, which increases the likelihood of getting a reply.

Sign in to comment.

Categories

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

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!