可能重复:
MATLAB subplot margin
在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%的空间被浪费为“空白”我想缩小该空白区域,但是未能成功识别出这样做的机制。想法?
由于 约翰
答案 0 :(得分:47)
文件交换上的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
答案 1 :(得分:6)
您可以使用
自己(或以编程方式)定位它们subplot('Position',[left bottom width height]);
默认情况下,坐标已标准化。所以一个位置 [0.1 0.1 0.5 0.5]将从10%开始 从左下角开始,宽度相等 到图形宽度的一半,高度等于一半 身材高度。
有关边距和填充的内置解决方案,请参阅已接受的答案。
答案 2 :(得分:5)
尝试减少隐藏轴LooseInsets
属性中的默认值,如http://UndocumentedMatlab.com/blog/axes-looseinset-property/
例如:
set(gca, 'LooseInset', get(gca,'TightInset'))