MatLab绘图中奇怪的延迟数据?

MatLab绘图中奇怪的延迟数据?,matlab,plot,matlab-figure,Matlab,Plot,Matlab Figure,我有以下代码(可复制): 正如你可以从写着yData=randn(365,1)的那行代码中看到的那样,有365个数据点(一年) 但是,当您运行此程序时,您会注意到它从1/1到2/3进行绘制,这超过了一年(400个值) 这是为什么??是否有我不知道的默认值?没有NaN值,所以这对我来说是个谜 感谢您的帮助 如果没有tight\u subplot(),则无法复制问题。这有什么用?听起来它应该根据您的问题描述设置axisxlim。它来自这里:另外,这是datetick:谢谢您的提问!还要注意,clea

我有以下代码(可复制):

正如你可以从写着
yData=randn(365,1)的那行代码中看到的那样,有365个数据点(一年)

但是,当您运行此程序时,您会注意到它从1/1到2/3进行绘制,这超过了一年(400个值)

这是为什么??是否有我不知道的默认值?没有NaN值,所以这对我来说是个谜


感谢您的帮助

如果没有
tight\u subplot()
,则无法复制问题。这有什么用?听起来它应该根据您的问题描述设置axis
xlim
。它来自这里:另外,这是datetick:谢谢您的提问!还要注意,
clear figure
实际上清除了名为
figure
的变量。如果您想实际清除其内容的当前图形,请使用函数
clf()
。我恐怕无法重现该问题。这可能是所描述的问题。否则,我在一次运行后得到的数据点数量正好是365(
q=get(ha(1));get(q.Children)
)。Matlab使用一些启发式方法调整轴限制。我的猜测是,您只需使用
xlim
显式设置限制。
clear figure
nSites = 3;

ha = tight_subplot(nSites,1,[.01 .01],[.1 .1],[.1 .1]);
display(ha);
for ii = 1:nSites; 
    axes(ha(ii));
    yData=randn(365,1); 
    plot(yData);
    if ii~=nSites
        set(ha,'XTickLabel','');
    else
        set(ha,'XTickLabel','');
        NumTicks=6;
        L = get(gca,'XLim');
        set(gca,'XTick',linspace(L(1),L(2),NumTicks));
        datetick('x','mm/dd','keepticks');  
    end 
end