Help with reading and plotting date string

9 visualizaciones (últimos 30 días)
Vengatesan
Vengatesan el 1 de Mzo. de 2016
Comentada: Shern Wei Lee el 19 de Mzo. de 2021
I'm reading dates from an excel sheet using matlab. Matlab writes the data as '22/01/2015 13:30:00' '22/01/2015 14:00:00' '22/01/2015 14:30:00' '22/01/2015 15:00:00' '22/01/2015 15:30:00' '22/01/2015 16:00:00' '22/01/2015 16:30:00' '22/01/2015 17:00:00' '22/01/2015 17:30:00' '22/01/2015 18:00:00' '22/01/2015 18:30:00' '22/01/2015 19:00:00' '22/01/2015 19:30:00' '22/01/2015 20:00:00' '22/01/2015 20:30:00' '22/01/2015 21:00:00' '22/01/2015 21:30:00'
I would like use this date on the x-axis and to make a plot with a variable in y-axis.
Can any one help me how to make a plot with this date data. Thanks Venki

Respuestas (3)

Jos (10584)
Jos (10584) el 1 de Mzo. de 2016
Convert the dates (in variable D), using DATENUM, plot, and use DATETICK to set the x-ticks to a specific format
plot(datenum(D), YVALUES)
datetick('x',31) % or any other format
  2 comentarios
Vengatesan
Vengatesan el 1 de Mzo. de 2016
Please see my comment to another response. Thanks.
Shern Wei Lee
Shern Wei Lee el 19 de Mzo. de 2021
Thank you

Iniciar sesión para comentar.


Florian
Florian el 1 de Mzo. de 2016
Use x = datenum( dates,'dd/mm/yyyy HH:MM:SS') to convert your strings to the internal matlab date number. Plot your x y data normally and use datetick('x',dateFormat) to format your x-axis. See http://ch.mathworks.com/help/matlab/ref/datetick.html
Regards, Florian
  2 comentarios
Vengatesan
Vengatesan el 1 de Mzo. de 2016
Thanks for your response. I have already tried with what you suggested before writing for help. I think the problem lies in reading the data from the excel file. I use
[D,text] = xlsread('C:\...D\...xlsx',1,'A2:B2182');
This excel file has many columns, the first column is the date and second colm is number and so on.
When I use the above function to read, the date is stored in 'text', but within the quotation as '22/01/2015 14:00:00'. This is what causing problems when the datenum function.
If I could remove the 'quotation', example 22/01/2015 14:00:00, and use the datenum function it works well. Can you let me know how to read the data without quotation. If the result look like below then i can mange
Input, date =['08/03/2015 18:00:00' '08/03/2015 18:30:00' '08/03/2015 19:00:00' '08/03/2015 19:30:00' '08/03/2015 20:00:00' '08/03/2015 20:30:00' '08/03/2015 21:00:00' '08/03/2015 21:30:00' '08/03/2015 22:00:00' '08/03/2015 22:30:00' '08/03/2015 23:00:00' '08/03/2015 23:30:00']
expected output
date =
08/03/2015 18:00:00 08/03/2015 18:30:00 08/03/2015 19:00:00 08/03/2015 19:30:00 08/03/2015 20:00:00 08/03/2015 20:30:00 08/03/2015 21:00:00 08/03/2015 21:30:00 08/03/2015 22:00:00 08/03/2015 22:30:00 08/03/2015 23:00:00 08/03/2015 23:30:00
Jos (10584)
Jos (10584) el 1 de Mzo. de 2016
Did you try? DATENUM seems to ignore quote marks
datenum('''22/02/16 13:02:34''')

Iniciar sesión para comentar.


Jan
Jan el 1 de Mzo. de 2016
You can convert the shown cell string useing datenum and use datetick to display the dates as tick lables.

Categorías

Más información sobre Dates and Time en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by