transform text data like {'1951:Q4'} with quarterly dates to number x axis of a plot

8 次查看(过去 30 天)
I read this series fdate in xlsread:
[x,fdate,raw] = xlsread('C:/Users/Owner/Documents/Research/Data/USTreasury/Z1_FL210/z1_csv_files/csv/Z210finaccts.xlsx','A27:J305');. I define fdate1 = fdate(:,1) and get the following column vector:
{'1951:Q4'}
{'1952:Q1'}
{'1952:Q2'}
{'1952:Q3'}
{'1952:Q4'}
{'1953:Q1'}
{'1953:Q2'}
{'1953:Q3'}
{'1953:Q4'}
{'1954:Q1'}
{'1954:Q2'}
{'1954:Q3'}
{'1954:Q4'}
{'1955:Q1'}
{'1955:Q2'}
datetick('x', 'YYYY:QQ','keepticks')
How can I use/transform this column vectors to plot on the x axis in this line of code:
plot (fdate1,x(:,3:4),'LineWidth',1) %1951Q4
I get 'Error using plot Invalid data argument'
Thank you

采纳的回答

Kelly Kearney
Kelly Kearney 2021-10-8
I'd recommend converting your fdate cell array to an array of datetimes:
fdate = datetime(fdate, 'InputFormat', 'uuuu:''Q''Q');
From there, you should be able to plot as needed.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Time Series Objects 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by