MATLAB Answers

0

How do I set X axis date tick (properly...) ?

Asked by Pierre Lonfat on 30 Apr 2018
Latest activity Answered by Pierre Lonfat on 26 May 2018
Dear all,
I successfully managed to have my much desired x axis date tick with the following code:
title('Annex 1: S&P 500 and performance indicators','FontSize',24);
ylabel('Indice evolution - Zscore','FontSize',16);
xlabel('Date','FontSize',16)
d=graph.date(1,1):graph.date(end,1);
a=datevec(d);
[ii,jj]=unique(a(:,1));
set(gca,'xtick',d(jj),'xlim',[graph.date(1,1) graph.date(end,1)]);
%datetick('x','mmm-yy', 'keepticks');
leg=legend('S&P 500','Volume','Price earning','Volatility 90 days','location','northwest');
set(leg,'FontSize',14);
grid on;
And it give me the following result:
Now I want to convert that into date by using datetick: (just removing the comment % in front of datetick) and here is a very strange result...
Why Jan-18 is not respecting its previous position and not ending the time series (which is wrong, the end is March 2018). The corresponding 4.31 (numerical value) was in the correct position in the previous screenshot...
Thank you so much for helping me with that !
Pierre

  0 Comments

Sign in to comment.

2 Answers

Answer by Pierre Lonfat on 26 May 2018
 Accepted Answer

For all, datetick('x','mmm-yy', 'keepticks', 'keeplimits');
Voila ! You can actually set both.

  0 Comments

Sign in to comment.


Answer by Rajesh Balagam on 3 May 2018

It seems in the new figure x-axis's max limit is changed to 'Jan-18'.
You can use the 'keeplimits' input argument to the datetick function to keep the original axis limits.
datetick('x','mmm-yy', 'keeplimits');
Or you can try manually setting the x-axis's limits using the xlim function.

  1 Comment

Unfortunately it doesn't work :/...

Sign in to comment.