How to label the points on x axis in hours.
19 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
回答 (3 件)
Star Strider
2022 年 1 月 31 日
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
2022 年 1 月 31 日
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 件のコメント
参考
カテゴリ
Help Center および File Exchange で Dates and Time についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!