Time series plot: put YYYYMM on x-axis?

1 次查看(过去 30 天)
Dear Matlab community,
in advance: Many thanks for the great help I always get!
I am trying to plot a time series (in a column), with the simple following function:
plot(timeseries);
The result is exactly as I hoped for:
However, I am trying to put dates on the x-axis. I have a separate column variable for that with the same dimensions, called 'ffdates': 192601 192602 192603 192604 192605 192606 192607 192608 192609 192610 192611 192612 192701 192702 ...
I would like to display those on the x-axis, but if I execute the respective command
plot(ffdates,timeseries);
i get this:
I suspect that the distortion comes from the date jumps 192612 to 192701. However, is there a way that I can simple use the variable 'ffdates' as x-axis labels?
Alternatively, I would also be happy with defining a date range from 07/1926 to 12/2014 to the x axis, in any date format.
Thank you very much in advance!
Chris

采纳的回答

dpb
dpb 2015-8-11
>> dn=datenum(1926,7+[0:(2014-1926)*12+5].',1);
>> datestr([dn(1));dn(end)])
ans =
01-Jul-1926
01-Dec-2014
>> y=rand(size(dn)); % some dummy data
>> plot(dn,y)
>> xlim([dn(1) dn(end)])
>> datetick('x','mm/yyyy','keeplimits')
>>
Adjust ticks but won't have sufficient room to label every month by any stretch...
  3 个评论
dpb
dpb 2015-8-12
No problem, glad to help...on the datestr call, that's totally immaterial; I stuck it in there simply to demonstrate what the two start/end dates generated above were...you don't need it at all.
Christoph Meier
Christoph Meier 2015-8-12
I see! Always learning. Contributors like you are incredibly valuable to rookies like me :) Thanks again!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Annotations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by