Plotting date and time

조회 수: 26 (최근 30일)
Giulia 2023년 1월 12일
편집: Cris LaPierre 2023년 1월 20일
I am new to Matlab and I need to plot two columns of data from a xlsx file. One of the two columns contains date and time (04/07/2022 18:00).
I keep receiving errors everytime I try to turn the date data into a readable format for Matlab:
Can anyone help me in understanding how to read date and time data in Matlab? These are the errors I receive.
Thank you.
>> datestr(datenum(tdata(:,1),'')
Invalid expression. When calling a function or indexing a variable, use parentheses. Otherwise, check for
mismatched delimiters.
Did you mean:
>> datestr(datenum(tdata(:,1),''))
Error using datenum
DATENUM failed.
Caused by:
Error using dtstr2dtnummx
Failed to convert from text to date number.
>> t = datetime('tdata')
Error using datetime
Could not recognize the date/time format of 'tdata'. You can specify a format using the 'InputFormat' parameter.
If the date/time text contains day, month, or time zone names in a language foreign to the 'en_US' locale, those
might not be recognized. You can specify a different locale using the 'Locale' parameter.
  댓글 수: 1
Giulia 2023년 1월 16일
Thanks a lot!!

댓글을 달려면 로그인하십시오.

답변 (2개)

Cris LaPierre
Cris LaPierre 2023년 1월 12일
편집: Cris LaPierre 2023년 1월 20일
Create a datetime variable from your date and time information, and then just plot. The axes will automatically adjust to handle the datetime variable.
If you use readtable to load your excel data, chances are it will automatically load the date and time into a datetime variable already. See this page on how to access data in a table.
If you share your spreadsheet, we can provide more specific help.
  댓글 수: 2
Cris LaPierre
Cris LaPierre 2023년 1월 12일
편집: Cris LaPierre 2023년 1월 20일
You may need to specify the input format to datetime. However, first consider using the 'ConvertFrom','excel' name value pair.
The functions datenum and datestr are older functions that should be avoided when possible.
Giulia 2023년 1월 18일
thanks a lot!!!

댓글을 달려면 로그인하십시오.

Bora Eryilmaz
Bora Eryilmaz 2023년 1월 12일
편집: Bora Eryilmaz 2023년 1월 12일
tdata = { ...
'04/07/2022 18:00', ...
'05/08/2022 19:30', ...
'06/08/2022 11:30'
ydata = [10, 20, 15];
tnum = datenum(tdata); % Numeric representation of dates
tstr = datestr(tnum, ''); % Extract date strings in desired format
tdate = datetime(tstr) % Convert to datetime object for plotting
tdate = 3×1 datetime array
07-Apr-2022 08-May-2022 08-Jun-2022
plot(tdate, ydata)
  댓글 수: 1
Giulia 2023년 1월 16일
thanks a lot!!!

댓글을 달려면 로그인하십시오.


Help CenterFile Exchange에서 Dates and Time에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by