Как уменьшить границы вокруг подзаговоров в Matlab?
Возможный дубликат:
MATLAB по размеру подзаголовка
В Matlab чрезмерное количество пространства теряется в подсчетах. Например, в этом примере:
t = 0:0.001:2*pi+0.001;
figure(2);
for i = 1 : 25;
subplot(5,5,i);
plot(t, sin(i*t));
axis off
end
![Example of wasted white space in subplots]()
более 50% пространства на рисунке теряется как "пустое". Я хотел бы уменьшить это пустое место, но не удалось определить механизм для этого. Мысли?
Спасибо
Джон
Ответы
Ответ 1
Функция subaxis
на File Exchange позволяет указать поля для подзаговоров.
Пример использования:
t = 0:0.001:2*pi+0.001;
figure(2);
for i = 1 : 25;
subaxis(5,5,i, 'Spacing', 0.03, 'Padding', 0, 'Margin', 0);
plot(t, sin(i*t));
axis tight
axis off
end
![enter image description here]()
Ответ 2
Вы можете разместить их самостоятельно (или программно) с помощью
subplot('Position',[left bottom width height]);
По умолчанию координаты нормированы. Итак, позиция
от 0,1 0,1 0,5 0,5] начнется с 10% пути в
из левого нижнего угла и будет иметь ширину равную
на половину ширины фигуры и высоту, равную половине
высота фигуры.
См. принятый ответ для встроенного решения для полей и заполнения.
Ответ 3
Попробуйте уменьшить значения по умолчанию в свойствах скрытых осей LooseInsets
, как описано в http://UndocumentedMatlab.com/blog/axes-looseinset-property/
Например:
set(gca, 'LooseInset', get(gca,'TightInset'))