MATLAB: Problem with ‘keeplimits’ for dates on figure x-axis

keeplimits

Hi,
I've search for an answer to my question but I still cannot get this to work. I am trying to plot data on a figure with the date on the x-axis. My problem is that the figure extends beyond the x-axis limits, even if I am using 'keeplimits'. The figure keeps showing an x-axis extending from May 11 to Oct 24 instead of the May 20 to Oct 22
t = datetime(2009,05,19) + caldays(1:156);
Ya = plot (t, wtddata(:,1),'-','LineWidth',2);
hold on; Yb = plot (t, wtddata(:,2),'-','LineWidth',2); hold off;
datetick('x','mmm','keeplimits')
Any help would be appreciated.
Thanks

Best Answer

Hi Luc,
I see that you are utilizing the datetime datatype introduced in R2014b. MATLAB picks an optimal set of ticks and labels when you plot a datetime array.
In case - such as yours - when MATLAB's optimal set of ticks is not the most suitable, you may pan and/or zoom the plot to get your desired layout. MATLAB will automatically update the ticks and labels to match the new limits after panning/zooming.
Most importantly, only use datetick when you are plotting dates and times represented in numeric values that are serial date numbers, rather than datetime arrays.
Campion