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

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

 채택된 답변

Pierre Lonfat
Pierre Lonfat 2018년 5월 26일

2 개 추천

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

추가 답변 (1개)

Rajesh Balagam
Rajesh Balagam 2018년 5월 3일

0 개 추천

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

Pierre Lonfat
Pierre Lonfat 2018년 5월 26일
편집: Pierre Lonfat 2018년 5월 26일
Unfortunately it doesn't work :/...

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Dates and Time에 대해 자세히 알아보기

질문:

2018년 4월 30일

답변:

2018년 5월 26일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by