Convert datenum to datetime for multiple holded plots

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;

Antworten (1)

Cris LaPierre
Cris LaPierre am 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 Kommentare

Om Gurav
Om Gurav am 2 Dez. 2019
Bearbeitet: Cris LaPierre am 2 Dez. 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.
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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Produkte

Version

R2018a

Gefragt:

am 31 Mär. 2019

Kommentiert:

am 2 Dez. 2019

Community Treasure Hunt

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

Start Hunting!

Translated by