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.

 Réponse acceptée

Ameer Hamza
Ameer Hamza le 31 Oct 2020
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');

2 commentaires

Manuel S Mathew
Manuel S Mathew le 1 Nov 2020
Thank you so much. This solved it.
Ameer Hamza
Ameer Hamza le 1 Nov 2020
I am glad to be of help!

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by