【发布时间】:2014-03-19 20:14:31
【问题描述】:
我试图弄清楚如何在我在 MATLAB 中创建的绘图的 x 轴上设置自定义数量的刻度线,但我不确定这是否可能。我看到this question 似乎在问同样的问题,但这个答案没有帮助,因为
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 个时间标签。 希望这更清楚。
【问题讨论】:
-
绘图中的 x 轴从 1 到数据长度。我猜你正在尝试设置 x 轴显示部分的刻度,所以看不到它们。您希望 x 轴是什么?
-
我编辑了我的问题。基本上,我还有一个名为 time 的变量,我想用它来生成我的 x 轴标签。
-
尝试使用 plot(time,data(:,1)) 看看效果是否更好