编辑刻度线之间的距离

时间:2018-05-31 16:38:17

标签: matlab

我目前正在使用MATLAB中的子图,这是我的x刻度标记数据:[.4 .5 .6 .9 1.2 1.5 2 2.5 3 4 5 6 7 8 9 10 12 15 20 30 40]

我正在尝试确定是否有办法均匀地划分刻度线,或者扩展较低值的间距,以便您可以实际读取数字。总之,我希望刻度线的物理间距基于某个预定的常数,而不是实际的数值。

1 个答案:

答案 0 :(得分:1)

你可以使用logarythmic scale for x-axis - 使用semilogx而不是plot。(IMO在你的情况下会更好)

x = [.4 .5 .6 .9 1.2 1.5 2 2.5 3 4 5 6 7 8 9 10 12 15 20 30 40];
y = x/2; % some example data
figure
semilogx(x,y, '.')
set(gca,'xtick', x)

另一种选择是更改x-ticks设置xticklabel属性的标签。请注意,您可以在ticks向量中设置自定义值。

x = [.4 .5 .6 .9 1.2 1.5 2 2.5 3 4 5 6 7 8 9 10 12 15 20 30 40];
y = x/2; % some example data
ticks = [];
for t = 1:size(x,2)
  ticks = [ticks t];
end
figure
plot(ticks, y, '.') % in this example same as 'plot(y)'
set(gca, 'xtick', ticks,'xticklabel', {.4 .5 .6 .9 1.2 1.5 2 2.5 3 4 5 6 7 8 9 10 12 15 20 30 40})