Converting time data to plot
17 ビュー (過去 30 日間)
古いコメントを表示
I imported an excel file (xlsread) and the time data turned into decimal form. I wrote the following code get a what I think is called a character array of just times.
um_time = num(:,1);
theDate = char(datetime(num_time,'ConvertFrom','excel')); % or 'excel1904'
theTimes = theDate(:,end-7:end);
The output for theTimes variable looks like this
val =
19:17:10
19:17:10
19:17:10
19:17:10
....
The problem that I have is that I can't use the variable theTimes in a plot function.
How can I turn theTimes values into a column vector of values that I can use to plot?
0 件のコメント
回答 (1 件)
Adam Danz
2019 年 9 月 10 日
編集済み: Adam Danz
2019 年 9 月 16 日
After you convert to datetime, keep it in datetime format. There's no need to convert it to char.
From r2016b onward, you can use datetime objects in plot().
datetime(num_time,'ConvertFrom','excel')
Here's several of examples
[addendum]
If you're reading the dates in from excel you can read them in as datetime.
m = readmatrix('Dates.xlsx','OutputType','datetime');
2 件のコメント
Adam Danz
2019 年 9 月 12 日
編集済み: Adam Danz
2019 年 9 月 13 日
I just updated my answer to add another approach similar to yours.
If you're going to use readtable(), you could use the DateTimeType name-value input instead of doing the conversion in your comment above.
参考
カテゴリ
Help Center および File Exchange で Spreadsheets についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!