Fill area in plot with datetime
15 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Frank
le 29 Fév 2016
Réponse apportée : Peter Perkins
le 7 Nov 2016
The following simplified example illustrates my problem:
Let
DateStrings = {'2014-01';'2014-02';'2014-03';'2014-04';'2014-05';'2014-06'};
X = datetime(DateStrings,'InputFormat','y-M');
Y = 1:6;
The following works, but is not exactly what I need:
plot(X,Y, 'DatetimeTickFormat','M-yyyy');
What I need is something like this:
area(X,Y, 'DatetimeTickFormat','M-yyyy');
This does not work, because "Input arguments must be numeric".
Does anybody know how to put dates on the x-axis with "area" or fill the area between 0 and Y with plot?
0 commentaires
Réponse acceptée
Image Analyst
le 29 Fév 2016
Don't use X. Just create your cell array DateStrings the way you want it and then do this:
area(1:length(DateStrings),Y);
ax = gca;
ax.XTickLabel = DateStrings;
ax.XTickLabelRotation = -75;
3 commentaires
Image Analyst
le 29 Fév 2016
What's not correct about it? Like I said "Just create your cell array DateStrings the way you want it" <=== Did you do that? Or not?
Plus de réponses (3)
Peter Perkins
le 7 Nov 2016
Frank, if you have access to the most recent release, R2016b, area does now work with datetimes:
area(X,Y);
h = gca; h.XAxis.TickLabelFormat = 'M-yyyy'
The default labels are month name, with year as the "secondary label", so you'd need to set XAxis.TickLabelFormat to get exactly the labels you want. Notice that using XAxis.TickLabelFormat is a bit different than in previous releases. That new property is supported for all datetime plots, and most (maybe even all, I forget) plotting now works with datetimes and durations. DatetimeTickFormat is still supported in the plot function, but moving forward you should use XAxis.TickLabelFormat.
Hope this helps.
0 commentaires
Einar
le 3 Nov 2016
An alternative solution:
area(datenum(X),Y)
datetick('x', 'mm-yyyy')
0 commentaires
Voir également
Catégories
En savoir plus sur Axis Labels dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!