Plot datetime data from a cell array?

2 views (last 30 days)
I have data set shown in fig. But I do not how to access to the data.
I try to use: plot(index{2:end, 1}, cell2mat(index(2:end, 2)), 'b'), but it does not work.

Accepted Answer

Stephen23
Stephen23 on 25 Mar 2021
Edited: Stephen23 on 25 Mar 2021
A cell array containing lots of scalar arrays indicates that your data is arranged sub-optimally. You would be much better off using a table, or perhaps two separate homogenous vectors (i.e. a datetime array and a numeric array).
Converting to two homogenous arrays is probably the easiest way to plot the existing (badly designed) data:
dt = [index{2:end,1}];
ix = [index{2:end,2}];
plot(dt,ix)
  4 Comments
Stephen23
Stephen23 on 25 Mar 2021
Edited: Stephen23 on 25 Mar 2021
@Yufei Cao: try using readtable, and then access the relevant "variables" by name:
T = readtable(..);
plot(T.date,T.index)
Yufei Cao
Yufei Cao on 25 Mar 2021
Hi, Stephen,
Thank you so much for the comment! The information is very useful!

Sign in to comment.

More Answers (0)

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!