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

How to set number of ticks along X axis in matlab?

我无法在 Matlab 中沿 X 轴设置适当的刻度数。正如您在下面看到的,我在 ha.XTicksNumber=2 中将数字设置为 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

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

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

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

有人知道怎么做吗?

试试这个

NumTicks = 4;
L = get(gca,'XLim');
set(gca,'XTick',linspace(L(1),L(2),NumTicks))

如果你愿意,你可以很容易地将它包装在一个函数中。