MATLAB: Add dates in x-axis

datetick

Hi, I have data for 3months (Jan-Mar). I want to plot them and have the date in x-axis:
cgf=figure;
Days=(1:90);
plot(Days,df,'b.-');
grid on;axis tight;
%x-axis
xticks([1:1:Days]);
datetick('x','dd','keepticks');
but it is not working:/

Best Answer

Referring the doc: datetick is useful when plotting numeric values that are serial date numbers. Days is just an array of numbers and not actually serial date numbers. Instead, use datetime to create your dates info and then plot.
d1 = datetime('01/01/2020','InputFormat','dd/MM/uuuu');
d2 = datetime('30/03/2020','InputFormat','dd/MM/uuuu');
days = d1:1:d2; % Creates your x-axis, 90 dates from Jan 1st to March 30
figure(1)
plot(days,df,'b.-')
grid on, axis tight
datetick('x','dd/mmm'); %datetick('x','dd') will show 90 x-axis ticks, which may not look neat in the plot