MATLAB: How to correct ‘xtick’ label format in plot of a ‘timeseries’ object

formatlabelsMATLABobjectplottimeseriesxtick

The following code creates a plot of "timeseries" object. But the 'xtick' labels are not formatted correctly. 
a=rand(1,N);
ym=[[repmat(2000,12,1) (1:12)'];[repmat(2001,12,1) (1:12)']];
disp(ym);
datevec = datenum(ym(:,1),ym(:,2),1);
ts1=timeseries(a, datevec);
ts1.TimeInfo.Format = 'mmm-yyyy';
plot(ts1);
I want them to be labeled in 'mmm-yyyy' format.

Best Answer

According to the documentation of 'timeseries' object, the 'timevals' should be in 'datestr' format. Use 'datestr' function to utilize the time vector in required format.
The following code produces the desired plot: 
a=rand(1,N);
ym=[[repmat(2000,12,1) (1:12)'];[repmat(2001,12,1) (1:12)']];
disp(ym);
datevec = datenum(ym(:,1),ym(:,2),1);
datevec = datestr(datevec);
ts1=timeseries(a, datevec);
ts1.TimeInfo.Format = 'mmm-yyyy';
plot(ts1);
For more information refer below documentation: