Getting different plot ranges
2 views (last 30 days)
Show older comments
Nathaniel Porter
on 19 Dec 2021
Commented: William Rose
on 20 Dec 2021
Trying to get time series plot of different days from dataset. Got help previoulsy but was only able to do day 1, when altering the code for day 2. It did not work. The csv file is opened, then columns are selected: Day 2 is from A61:D353, which then named glucose1_2 and is then imported to the workspace. Trying to get plot such as Day1 below for all remaining days of glucose.csv file.
Day 1 - A2:D60
Day2 - A61:D353
Day 3 - A354:D646
Day 4- A647:D940
Day 5 - A941:D1234
Day 6- A1235:D1439
glucose1_2.date.Format = 'dd.MM.uuuu HH:mm';
glucose1_2.time.Format = 'hh:mm:ss.S';
glucose1_2.date = [glucose1_2.date glucose1_2.time];
glucose1_2.glucose = glucose1_2.glucose*18;
plot(glucose1_2.date,glucose1_2.glucose);
grid on; legend('Patient1, Day1');
xlabel('Date and Time'); ylabel('Serum Glucose Level (mg/dl)');
0 Comments
Accepted Answer
William Rose
on 19 Dec 2021
Edited: William Rose
on 19 Dec 2021
T=readtable('glucose.csv'); %read file into table T
You will see that T has columns named date, time, glucose.
Line below plots glucose vs. time for the rows which have date=2014-10-01.
plot(T.time(T.date=='2014-10-01'),T.glucose(T.date=='2014-10-01'));
Line below plots glucose vs. time for day 2: the rows which have date=2014-10-02. And so on.
plot(T.time(T.date=='2014-10-02'),T.glucose(T.date=='2014-10-02'));
Good luck with your work!
3 Comments
William Rose
on 20 Dec 2021
@Nathaniel Porter, yes you can. Multiply y-values by 18 in the plot command. Include labels with units.
plot(T.time(T.date=='2014-10-02'),18*T.glucose(T.date=='2014-10-02'));
xlabel('Time (hours)'); ylabel('Plasma glucose (mg/dL)');
Try.
More Answers (0)
See Also
Categories
Find more on Data Import and Analysis 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!