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

9 Ansichten (letzte 30 Tage)
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

Akzeptierte Antwort

Kelly Kearney
Kelly Kearney am 8 Okt. 2021
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.
  1 Kommentar
Nancy Hammond
Nancy Hammond am 11 Okt. 2021
Thank you so much, Kelly. I needed the answer instantly! Apologies for late reply, I kept working away coding

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by