Как контролировать расстояние по умолчанию между галочками оси Y? - PullRequest
0 голосов
/ 28 декабря 2018

Вот простой код MATLAB.Как контролировать расстояние по умолчанию между галочками оси Y?Я хочу сделать его меньше, чтобы поместиться в моей газете.Подсказка: я обновляю сообщение с двумя картинками, которые показывают, что я имею в виду (они одинаковы, но расстояние между отметками оси y на одном изображении меньше, чем на другом.

enter image description here

x = linspace(-10,10,200); 
y = sin(4*x)./exp(x); 
plot(x,y)
xlim([0 10])
ylim([-0.4 0.8])

enter image description here

Ответы [ 4 ]

0 голосов
/ 03 января 2019

Вот еще более простой способ, чем то, что @ Cris предложил :

ax = axes;
ax.YTickMode = 'manual';
ax.Position(4) = ax.Position(4)*0.75;

, установив YTickMode в ручную, вы не позволите Matlab обновить тики при изменении размеров осей.,Затем вы изменяете высоту осей, устанавливая свойство position напрямую.

0 голосов
/ 28 декабря 2018

Если вы хотите изменить метки на оси x новыми метками, вы можете изменить значения меток следующим образом:

% specify the ticks first where you want to change
xticks([0 2 4 6 8])
% change the corresponding labels to the required ones
xticklabels({'-1', '-2', '-3', '-4', '-5'})
0 голосов
/ 28 декабря 2018

Вы можете изменять высоту графика, сохраняя количество и значения отметок, что уменьшает расстояние между отметками.

Для этого установите свойство 'Position' окна рисунка (это равносильно перетаскиванию краев окна для уменьшения размера рисунка) и установке местоположений меток вручную, чтобы MATLAB не уменьшал их количество.Например:

h = gcf; % figure handle
a = gca; % axes handle
ticks = get(a,'YTick');
pos = get(h,'Position');
pos(4) = pos(4) * 0.75; # reduce the size
set(h,'Position',pos);
set(a,'YTick',ticks)

Следует также отметить свойства рисунка PaperPosition, PaperSize и другие свойства Paper ..., так как они используются при печати (также в файл).Возможно, вы захотите вручную установить эти свойства перед созданием PDF или EPS из графика.

0 голосов
/ 28 декабря 2018

Вы можете управлять галочкой, используя объект gca графика.Вот пример для xtick.Измените 'xtick' на 'ytick':

plot(x,y);
set(gca, 'xtick', [-10:2:10]);
...