在 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% 的空间被浪费为“空白” 我想缩小该空白空间,但未能确定这样做的机制。想法?
File Exchange 上的subaxis
功能允许您指定子图的边距。
示例用法:
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'))