Подтвердить что ты не робот

Как уменьшить границы вокруг подзаговоров в 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% пространства на рисунке теряется как "пустое". Я хотел бы уменьшить это пустое место, но не удалось определить механизм для этого. Мысли?

Спасибо Джон

4b9b3361

Ответ 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'))