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