我正在尝试找出如何在我正在使用MATLAB创建的图形的x轴上设置自定义刻度数,但我不确定是否可能。我看到了这个问题,似乎也在问同样的事情,但那个答案并没有帮助。
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创建具有5个x轴刻度的图形,以匹配我设置的5个XTickLabels。
data是一个大约为<3000x1>的双精度数组。
编辑:我还应该添加,我希望我的x轴值来自一个单独的数组。上面显示的数据数组对应于一个时间数组(未显示...我的错),数据数组中的每个值都有一个相应的时间数组中的值。由于我正在从数据数组中选择一个范围,所以我想选择相应的时间值并将其用作x标签。但显然,我不想在我的x轴上有3000个时间标签。希望现在更加清晰了。