如何在matlab中设置沿X轴的刻度数?

sim*_*ple 1 matlab plot figure matlab-figure

我在 Matlab 中沿 X 轴设置适当的刻度数时遇到问题。如下所示,我在 中将数字设置为 2 ha.XTicksNumber=2,但它仍然绘制为 10。

nSites = 2;

ha = tight_subplot(nSites,1,[.01 .01],[.1 .1],[.1 .1]);
display(ha);
for ii = 1:nSites; 
    axes(ha(ii));
    xData=linspace(1,100,90); 
    plot(xData);
    if ii~=nSites
        set(ha,'XTickLabel','');
    else
        set(ha,'XTickLabel','');
        ha.XTicksNumber=2;
        ha.XTick = linspace(1,90,55);
        datetick('x','mm/dd','keepticks');
    end 
end
Run Code Online (Sandbox Code Playgroud)

上面的代码是可以重现的。谢谢你的帮助!

我最终想要的是带有日期的 x 轴,但我希望能够

1) 设置沿 x 轴的日期数或 2) 设置任意两个日期之间的间隔。

有人知道怎么做吗?

say*_*yan 5

试试这个

NumTicks = 4;
L = get(gca,'XLim');
set(gca,'XTick',linspace(L(1),L(2),NumTicks))
Run Code Online (Sandbox Code Playgroud)

如果您愿意,您可以轻松地将其包装在函数中。