Matlab 日期线超过了某些数据的结束日期

Matlab date line exceeds end date for some data

对于相同的代码,我得到了两个不同的日期线图。在第二个图中,结束日期后有一行。我不知道为什么。我的代码如下。

for k=1:K
    figure(k);
    hold on;
    set(h,'FaceColor',[.9,0.9,0.9]);
    set(h,'LineStyle','none')
    plot(Dates(1,2:T),ly(k,:),'Color',[0, 0.4470, 0.7410], 'LineWidth',2.2);
    plot(Dates(1,2:T),CIb(k,:),'.k','MarkerSize',3.7);
    plot(Dates(1,2:T),CIu(k,:),'.k','MarkerSize',3.7);
    plot(Dates(1,2:T),lUncMod(k,1).*ones(T-1,1),'--r','LineWidth',1.5);
    plot(Dates(1,2:T),lCondMod(k,1).*ones(T-1,1),'b','LineWidth',1.5);
    plot(Dates(1,2:T),zeros(T-1,1),'k','LineWidth',0.1);
    set(gca,'XTick',XT,'XTickLabel',XTL);
    if k==1;
        title('$\hat{\lambda}_{m,t}$','FontSize',18,'Interpreter','latex');
        hold off;
    elseif k==2;
        title('$\hat{\lambda}_{smb,t}$','FontSize',18,'Interpreter','latex');
        hold off;
    end;
end;

您是否尝试过使用 xlim 命令? 因此,在 for if-else 语句之后,使用 xlim([1990 2021])。 我不知道 xlim 的数据类型,但这将强制限制 x 轴(在本例中为 1990 年至 2021 年)。