how to plot datetime against number

hi, I imported some data from excel file.I have two columns.One is dates and other is stocks. 'dates' column is of the form 'datetime' and 'stocks' is of the form 'double'. I just want to plot(dates,stocks) but it wont work. How can I plot dates with stocks or how to convert the dates to numeric?

 Risposta accettata

KSSV
KSSV il 10 Apr 2018
You can plot class of datetime and double in MATLAB. Read the excel file using xlsread. Convert the columns of dates into class datetime using datetime.
t = datetime(2014,6,28) + calweeks(0:9);
y = rand(1,10);
plot(t,y);
Read about datetime.

2 Commenti

thanks KSSV.I read the datetime page but couldnt understand well.I mean how can I convert a complete Column vector of dates to numbers(Note: dates are in the form 2/02/2018)
str = '2/02/2018'
datetime(str)

Accedi per commentare.

Più risposte (1)

rohail, you don't need to convert anything if your data are already datetimes, which seems to be what you are indicating. Ideally, in recent releases of MATLAB and assuming your spreadsheet is properly formatted, all you need is
t = readtable('myfile.xlsx');
plot(t.Dates,t.Stocks)
readtable may end up returning you text for the dates if the spreadsheet is not formatted with date cells, in that case just convert to datetime as KSSV suggests.

Categorie

Community Treasure Hunt

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

Start Hunting!

Translated by