Plot time series data
2 次查看(过去 30 天)
显示 更早的评论
first, sorry for my english
i have the data below
2022-08-27T00:00:00.019538 16065
2022-08-27T00:00:00.044538 16871
2022-08-27T00:00:00.069538 16800
2022-08-27T00:00:00.094538 16574
2022-08-27T00:00:00.119538 17022
2022-08-27T00:00:00.144538 17021
2022-08-27T00:00:00.169538 16746
2022-08-27T00:00:00.194538 16948
first column is date and time, second column is data
I want to make a timeseries plot, I've tried with
ts = timeseries(data, time)
and then i get error
Error using datenum (line 189)
DATENUM failed.
Error in timeseries/init (line 318)
[~, data, quality, I] = timeseries.utsorttime(datenum(time),...
Error in timeseries (line 343)
this = init(this,varargin{:});
Caused by:
Error using datevec (line 217)
Failed to lookup month of year.
how to make timeseries from data above? thank you
2 个评论
Walter Roberson
2022-8-30
Are you sure you need timeseries()? Would it be plausible to instead use the newer timetable() ?
回答(2 个)
Star Strider
2022-8-30
编辑:Star Strider
2022-8-30
Try something like this —
C = {'2022-08-27T00:00:00.019538' 16065
'2022-08-27T00:00:00.044538' 16871
'2022-08-27T00:00:00.069538' 16800
'2022-08-27T00:00:00.094538' 16574
'2022-08-27T00:00:00.119538' 17022
'2022-08-27T00:00:00.144538' 17021
'2022-08-27T00:00:00.169538' 16746
'2022-08-27T00:00:00.194538' 16948};
DT = datetime(C(:,1), 'InputFormat','yyyy-MM-dd''T''HH:mm:ss.SSSSSS', 'Format','yyyy-MM-dd HH:mm:ss.SSSSSS')
T1 = table(DT, cell2mat(C(:,2)))
figure
plot(T1{:,1}, T1{:,2})
grid
xtickformat('mm:ss.SSS')
xtickangle(30)
If your data are in a file, use readtable and then do the appropriate datetime conversion as I outlined here.
.
0 个评论
Lei Hou
2022-8-31
>> C = {'2022-08-27T00:00:00.019538' 16065
'2022-08-27T00:00:00.044538' 16871
'2022-08-27T00:00:00.069538' 16800
'2022-08-27T00:00:00.094538' 16574
'2022-08-27T00:00:00.119538' 17022
'2022-08-27T00:00:00.144538' 17021
'2022-08-27T00:00:00.169538' 16746
'2022-08-27T00:00:00.194538' 16948};
>> DT = datetime(C(:,1), 'InputFormat','yyyy-MM-dd''T''HH:mm:ss.SSSSSS', 'Format','yyyy-MM-dd HH:mm:ss.SSSSSS');
>> numericValue = cell2mat(C(:,2));
>> tt = timetable(numericValue,'RowTimes', DT)
tt =
8×1 timetable
Time numericValue
__________________________ ____________
2022-08-27 00:00:00.019538 16065
2022-08-27 00:00:00.044538 16871
2022-08-27 00:00:00.069538 16800
2022-08-27 00:00:00.094538 16574
2022-08-27 00:00:00.119538 17022
2022-08-27 00:00:00.144538 17021
2022-08-27 00:00:00.169538 16746
2022-08-27 00:00:00.194538 16948
>> stackedplot(tt)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1112475/image.png)
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Time Series Events 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!