Возможный дубликат:
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
более 50% пространства на рисунке теряется как "пустое". Я хотел бы уменьшить это пустое место, но не удалось определить механизм для этого. Мысли?
Спасибо Джон
Функция 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
Вы можете разместить их самостоятельно (или программно) с помощью
subplot('Position',[left bottom width height]);
По умолчанию координаты нормированы. Итак, позиция от 0,1 0,1 0,5 0,5] начнется с 10% пути в из левого нижнего угла и будет иметь ширину равную на половину ширины фигуры и высоту, равную половине высота фигуры.
См. принятый ответ для встроенного решения для полей и заполнения.
Попробуйте уменьшить значения по умолчанию в свойствах скрытых осей LooseInsets
, как описано в http://UndocumentedMatlab.com/blog/axes-looseinset-property/
Например:
set(gca, 'LooseInset', get(gca,'TightInset'))
figure(2); for i = 1 : 25; hax=axes(); plot(t, sin(i*t)); axis tight; axis off; rowIdx=fix((i-1)/5); colIdx=mod(i-1,5); newPos=[.2*colIdx,0.8-.2*rowIdx,.2,.2]; set(gca,'outer',newPos), end