adding year to plot using datetick
Show older comments
I have created a plot for a volatility measure, now i want to add the years of the measure to the x axis. I have the appropriate year in a .txt file which i have loaded into the variable 'dates'. However i can not get the labels onto my plot
plot(1:iNumObs,exp(vLogVolsBF),'r:')
xlabel('Trading days since 2000-01-03')
ylabel('Volatility')
title('Particle filter estimate of volatility');
datetick('dates','yyyy');
It returns the error:
??? Error using ==> datetick>parseinputs at 344 The axis must be 'x','y', or 'z'.
Error in ==> datetick at 109 [axh,nin,ax,dateform,keep_ticks,keep_limits] = parseinputs(varargin);
Thank you
Accepted Answer
More Answers (1)
John Petersen
on 11 Jul 2012
Edited: John Petersen
on 11 Jul 2012
You have 1:iNumObs as the x-axis. I assume this is where you want the years. If your data is on a yearly basis, just add the first year (-1) to the x-axis
plot(1999+[1:iNumObs], exp(vLogVolsBF),'r:')
If your data is throughout the year but you just want a label for each year, then you need the date of each data point. If it's in datenum for example, then you can use datetick to convert to the format you're looking for,
datetick('x','yyyy')
Categories
Find more on Dates and Time in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!