Вы можете использовать логарифмическую шкалу для оси 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})