MATLAB: Change the x axis labels in plot.

plotx axis

I have a dataset of hourly production throughout a year. So that is 8760 data points. I would like to plot all these 8760 points. But, I just want to label months. So, what I would like to do is to label the x-axis January, February, … , December instead of what I have now, which is 1,2,3, …, 8760. Any help is highly appreciated.

Best Answer

This code shows an example
x = rand(1, 8760); % your vector
t = datetime(2019,1,1,0,0,0):hours(1):datetime(2019,12,31,23,0,0); % 2019 is used because 2020 is leap year
ax = axes();
hold(ax);
plot(t, x)
ax.XTickLabelMode = 'manual';
ax.XTick = datetime(2019,1,1,0,0,0):calmonths(1):datetime(2019,12,31,23,0,0);
ax.XTickLabel = datestr(ax.XTick,'mmm');