How to set x axis into hours

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

Answers (1)

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

I'm very sorry but i really dont understand these lines. How do you mean by "an example of the last 100 days"? How about 'now' should that be the same date? I would like to be able to select a date range e.g. startdate = 2012-06-12 and enddate = 2014-12-30.
There is also not much info on xticklabelrotation in R2014b help. I apologize for my weak matlab knowledge....thanks again
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.
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.

Categories

Asked:

ccs
on 23 Feb 2015

Commented:

ccs
on 26 Feb 2015

Community Treasure Hunt

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

Start Hunting!