How do separate plot into months?

9 views (last 30 days)
I have an array of 8760 numbers consisting of a data point for every hour of a year. Instead of having the x-axis separated by hours (1-8760), how can I change it to months?
Would creating a vairable for each month with the corresponding hours from the year and then combining all 12 plots work?

Accepted Answer

Sindar
Sindar on 4 Oct 2020
probably easiest would be to create a datetime object:
% sample data
data = rand(1,8760);
% starting year/month/day of data
Y = 2020;
M = 1;
D = 1;
% hours of data
H = 1:8760;
t = datetime(Y,M,D,H,0,0);
% plot your data, formating x-axis in month names
plot(t,data,'DatetimeTickFormat','MMMM')
% make sure every month gets a tick
xticks(datetime(Y,1:12,0))
% angle ticks for readability
xtickangle(45)

More Answers (0)

Community Treasure Hunt

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

Start Hunting!