# Increase the height (size) of subplots

719 views (last 30 days)
David E.S. on 6 Nov 2021
Edited: Chris on 6 Nov 2021
Supposing the following code:
subplot(5,1,1)
plot(rand(10),rand(10),'-');
subplot(5,1,2)
plot(rand(10),rand(10),'-');
subplot(5,1,3)
plot(rand(10),rand(10),'-');
subplot(5,1,4)
plot(rand(10),rand(10),'-');
subplot(5,1,5)
plot(rand(10),rand(10),'-'); How can I increase the height of each one of the plots?

Star Strider on 6 Nov 2021
One approach —
figure
subplot(5,1,1)
plot(rand(10),rand(10),'-');
subplot(5,1,2)
plot(rand(10),rand(10),'-');
subplot(5,1,3)
plot(rand(10),rand(10),'-');
subplot(5,1,4)
plot(rand(10),rand(10),'-');
subplot(5,1,5)
plot(rand(10),rand(10),'-'); figure
subplot(5,1,1)
plot(rand(10),rand(10),'-');
subplot(5,1,2)
plot(rand(10),rand(10),'-');
subplot(5,1,3)
plot(rand(10),rand(10),'-');
subplot(5,1,4)
plot(rand(10),rand(10),'-');
subplot(5,1,5)
plot(rand(10),rand(10),'-');
pos = get(gcf, 'Position');
pos = 1×4
671 661 577 433
set(gcf, 'Position',pos+[0 -500 0 500]) This gets the 'Position' property of the parent figure and stretches the figure vertically, without otherwise altering its position or any of its other properties.
.

Walter Roberson on 6 Nov 2021
I see you are using R2019b. In your release, tiledlayout was introduced; people have been happier with that for adjusting spacing.

Chris on 6 Nov 2021
Edited: Chris on 6 Nov 2021
If you have 2019b or newer, you can use a tiledlayout. It doesn't really show here, but there's a difference.
for idx = 1:5
nexttile
plot(rand(10),rand(10),'-')
end With subplots, you could grab the axes and adjust the Position property.
subplot(5,1,3)
ax = gca;
ax.Position(4) = 1.3*ax.Position(4)
You can also change the Position of the figure, to add more height overall
fig = gcf;
fig.Position(4) = 1.5*fig.Position(4)

R2019b

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!