How to plot with YYYYMM date format on x-axis?
Afficher commentaires plus anciens
LS,
I would like to plot some data with dates on the horizontal axis. The dates are in YYYYMM format.
When I plot the data set, there is a small horizontal space between e.g. 200911 and 200912. However, there is a large horizontal space between e.g. 200912 and 201001. It is clear why this happens...
Does someone probably have a solution for this issue? Should i convert the YYYYMM format to a date format which matlab understands? How? Or does an option for equidistantial horizontal spacing in graphs exists?
Your help would be very much appreciated.
Best regards,
Frits
Réponse acceptée
Plus de réponses (2)
the cyclist
le 23 Mar 2011
Yes, you'll need to convert those integers, which are not regular, into something that just count the months. Something like
year = floor(yyyymm/100);
month = yyyymm - 100*year;
Then count the months from some reference year/month.
3 commentaires
Frits
le 23 Mar 2011
the cyclist
le 23 Mar 2011
You could do something like this:
yyyymmVector
set(gca,'XTick',yyyymmVector)
set(gca,'XTickLabel',num2str(yyyymmVector))
But see also Jiro's solution.
the cyclist
le 23 Mar 2011
In the above comment, "yyyymmVector" was meant to represent your vector of integer dates.
Tiago Dias
le 11 Déc 2017
0 votes
Hello, i have a question, i got a table, the 1st column i have my time series, DD-MM-YYYY HH:MM:SS and on the others I got my variables.
I want to plot the time vs the variables
time = data(:,1); variables = data(:,2:end);
when i make plot(time,variables) i get an error
how can i fix it besides changing the data to 1 to 300
Catégories
En savoir plus sur Time Series Objects dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!