我试图弄清楚如何在 MATLAB 中创建的绘图的 x 轴上设置自定义数量的刻度线,但我不确定这是否可行。我看见这个问题 https://stackoverflow.com/questions/12105356/plotting-in-matlab-increase-number-of-divisions-on-xaxis这似乎在问同样的事情,但这个答案没有帮助,因为
set(gca,'XTick',tickVector);
设置刻度的位置,而不是刻度的数量。
我的代码如下。
rangeBegin = 100000;
rangeEnd = 200000;
numberOfXTicks = 5;
plot(data(:, 1));
xAxisVals = linspace(rangeBegin, rangeEnd, numberOfXTicks);
%set(gca,'XTick',rangeBegin:rangeEnd); % Doesn't work as expected
set(gca,'XTickLabel',xAxisVals);
因此,在这个示例中,我只是寻找一种方法来强制 MATLAB 创建 x 轴上有 5 个刻度的绘图,以匹配我设置的 5 个 XTickLabels。
data 是一个大约 的双精度数组。
编辑:我还应该补充一点,我希望我的 x 轴值来自一个单独的数组。上面显示的数据数组对应一个时间数组(没有显示...我的不好),数据数组中的每个值在时间数组中都有对应的值。由于我从数据数组中选择一个范围,因此我想选择相应的时间值并将其用作 x 标签。但显然我不希望我的 x 轴上有 3000 个时间标签。
希望这一点更加清楚。