MATLAB Answers

How do I plot timeseries, including event like earthquake?

3 views (last 30 days)
Umay Ana
Umay Ana on 19 Dec 2019
Commented: Umay Ana on 24 Dec 2019
Hello
I have two files and their sizes are not same. Files consist of two columns such as date and value.
Date format is ISO 8601 such as 2019-12-30T01:15:14
Value format is float-number.
How do I plot time series to see details?
Regards...

  0 Comments

Sign in to comment.

Answers (2)

Sulaymon Eshkabilov
Sulaymon Eshkabilov on 22 Dec 2019
Hi,
In this case, use one of these data import options:
(1) data import using uiimport('DATA_file_name.txt') that creates a table variable containing two column of data, viz date and values
(2) data import using importdata('DATA_file_name.txt') that creates structure type of data containing dates and data values.
(3) data import: textscan() ==> FID= fopen('DATA_file_name.txt'); DATA = textscan(FID, '%s %f'); fclose(FID);
The dates can be read with the command datenum(), e.g.,: DD = datenum('2019-12-30T01:15:14', 'yyyy-mm-ddTHH:MM:SSZ')
To plot the imported dates and data values: plot(DD, Values)
xlabels of dates can be displayed with datetick()
Good luck.

  1 Comment

Umay Ana
Umay Ana on 22 Dec 2019
Thank you for your guide. I try to apply the steps but I cannot read text file using textscan.
fileID = fopen('filename.txt');
C = textscan(fileID, '%{yyyy-MM-ddTHH:mm:ss}D %f', 'Delimiter', ' ');
fcloseID;

Sign in to comment.


Sulaymon Eshkabilov
Sulaymon Eshkabilov on 22 Dec 2019
Here is corrected code:
fileID = fopen('filename.txt', 'r');
C = textscan(fileID, '%s %f'); % Presumably your file does not have headerlines (texts, etc). It contains only two columns
fclose(fileID);

  1 Comment

Umay Ana
Umay Ana on 24 Dec 2019
I don't understand why
% {...}D
doesn't work.
Why did you suggest using datenum? I don't want to see x-axes such as serial date number.
fileID = fopen('filename.txt', 'r');
C = textscan(fileID, '%s %f');
fclose(fileID);
formatIn= 'yyyy-mm-ddTHH:MM:SS';
date = datenum(C{1,1},formatIn);
value = C{1,2};
% Class of date and value are double now.
plot(date,value)
y-axes is normal, not x-axes. Which date, month, day, hour, minute etc.?

Sign in to comment.

Sign in to answer this question.


Translated by