我目前正在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]
我正在尝试确定是否有办法均匀地间隔刻度线,或者扩大较低值的间距,以便您可以实际读取数字。简而言之,我希望刻度线的物理间距基于某个预定的常数,而不是实际的数值。
您可以使用对数刻度进行 x 轴 - 使用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})