How to label the points on x axis in hours.
19 views (last 30 days)
Show older comments
Hi
I have a satellite timetsamp data in the form of '2016-02-05T01:01:24Z' I have used the matlab codes to remove T, Z and time in hours. I want to plot several days data according to time in hours with interval of 2 hrs. When I'm using the simple plot application, the axis is showing the time in days. Im intresetd to get the x axis in hours since the data also have Time in hours. How can I do this. My codes are
% Remove T and Z and time in HH:mm:ss from timestamp
TM1 = strrep(Timestamp, 'T', ' ');
TM2 = strrep(TM1, 'Z', ' ');
TmF = datetime(TM2, 'InputFormat','yyyy-MM-dd HH:mm:ss', 'Format','HH:mm:ss');
% Plot graph
plot(TmF,VTEC)
Im also attaching the simple plot which shows x axis in days.
0 Comments
Answers (3)
Star Strider
on 31 Jan 2022
Use this approach to convert the strings to datetime arrays:
old = {'2020-08-03T20:40:00.111Z'; '2020-08-03T21:40:01.123Z'};
time = datetime(old, 'InputFormat','yyyy-MM-dd''T''HH:mm:ss.SSS''Z''', 'TimeZone','UTC', 'Format','yyyy-MMM-dd HH:mm:ss.SSS')
time_in_hours = hour(time)
Then, plot the data against ‘time_in_hours’.
.
Cris LaPierre
on 31 Jan 2022
First, you don't have to remove the T and Z. Just use the proper InputFormat for your timestamp
t='2016-02-05T01:01:24Z';
T = datetime(t,'InputFormat','yyyy-MM-dd''T''HH:mm:ss''Z')
Once you have your times, just plot the data with datetimes on X. Then use xtickformat to set the display format to hours.
plot(T,5,'x')
xtickformat('HH')
figure
plot(timeofday(T),5,'x')
xtickformat('h')
0 Comments
See Also
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!