How do separate plot into months?

8 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)
1 Comment
Devon Von Lichtenstein
Devon Von Lichtenstein on 7 Oct 2020
Thank you! That was exactly it.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!