MATLAB Answers

How to set x axis into hours

37 views (last 30 days)
ccs
ccs on 23 Feb 2015
Commented: ccs on 26 Feb 2015
I have energy consumption data of more than 3 years for every two seconds (43200 per day). Different households. How do I set the x axis into 24hrs (00:00 - 23:59) and plot each day data on one graph?
Thanks

  0 Comments

Sign in to comment.

Answers (1)

Sean de Wolski
Sean de Wolski on 23 Feb 2015
Something along these lines (R2014b required)
dt = datetime('now')-100:1/24:datetime('now');
hours = hour(dt);
scatter(hours,rand(size(dt)));
ax = gca;
ax.XTick = 1:24;
ax.XTickLabelRotation = -60;

  4 Comments

Show 1 older comment
ccs
ccs on 26 Feb 2015
I checked out doc datetime. Like in one of your webinars,I have also run the lines you given up to see what the do. Why does it start plotting on the axes themselves, how do i rectify that? how do i replace 'now' to start plotting automated dates connected to my time vector (datenumbers)? I added this line for hours tick but it does not change (to the lines you gave me). >>datetick('x','HH:MM','keeplimits','keepticks');
Thanks.
ccs
ccs on 26 Feb 2015
How can I make the datetick count from 00:00 to 23:59. This below is dispalying 00:00 for every hour.
>> d= datetime(start_date):1/24:datetime(end_date)+1;
>> hours=hour(d);
>> scatter(hours,rand(size(d)));
>> t=datenum(d);
>> ax=gca;
>> ax.XTick=1:24;
>> datetick(ax,'x','HH:MM','keeplimits','keepticks')

Sign in to comment.

Sign in to answer this question.