# Problem with xlim when having date

22 views (last 30 days)
Behzad Navidi on 17 Apr 2020
Commented: Behzad Navidi on 17 Apr 2020
Dear all,
I have a problem with x-axis intervals. I would like to start the x-axis in 1989 and end in 2018; with 5 years intervals. Here what I've done so far, but it seems xlim not working in this case:
clf
startdate_A = datenum('01-01-1989','dd-mm-yyyy');
enddate_A = datenum('01-01-2016','dd-mm-yyyy');
dt_A = linspace(startdate_A,enddate_A,336);
startdate = datenum('01-01-1989','dd-mm-yyyy');
enddate = datenum('01-01-2018','dd-mm-yyyy');
dt = linspace(startdate,enddate,360);
plot(dt_A,DATA_A,'color','g')
datetick('x','yyyy','keepticks')
xlim([startdate:5:enddate])
hold on
plot(dt,DATA_B,'color','b')
datetick('x','yyyy','keepticks')
Here is the error:
Error using xlim (line 31)
Limits must be a 2-element vector of increasing numeric values.
Thank you so much

Peter on 17 Apr 2020
xlim sets the absolute max and min of the graph that you're looking at. To set the interval for grid lines, use the xticks command.
For your needs, use this with the datetick command:
% Define specific five year spacing of ticks for the 27 years of interest
xtks = linspace(startdate_A,enddate_A,27);
plot(dt_A, DATA_A);
xticks(xtks); % Set ticks for axis
xlim([startdate_A,enddate_A]) % Set limits
datetick('x','yyyy','keepticks');
grid on

#### 1 Comment

Behzad Navidi on 17 Apr 2020
Dear Peter,
Thank you so much.

R2020a

Translated by