How to reduce the borders around subplots in matlab? [duplicate]
Solution 1:
The subaxis
function on the File Exchange allows you to specify margins for subplots.
Example usage:
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
Solution 2:
You can position them yourself (or programatically) using
subplot('Position',[left bottom width height]);
By default, the coordinates are normalized. So a position of [0.1 0.1 0.5 0.5] will start at 10% of the way in from the lower left corner, and will have a width equal to half the figure width, and a height equal to half the figure height.
See the accepted answer for a built-in solution to margins and padding.
Solution 3:
Try to reduce the default values in the hidden axes LooseInsets
property, as described in http://UndocumentedMatlab.com/blog/axes-looseinset-property/
For example:
set(gca, 'LooseInset', get(gca,'TightInset'))