# 3 subplots with the bottom one split in 2 vertically?

9 views (last 30 days)
HC98 on 26 Mar 2023
Commented: Star Strider on 26 Mar 2023
I want to produce a figure with 3 stacked plots where the bottom one is split in half vertically, how might I do this? TIA
Dyuman Joshi on 26 Mar 2023
Just a note - The output you want is horizontally stacked, not vertically.

Star Strider on 26 Mar 2023
Perhaps this —
clearvars
x = -10:0.01:10;
y = cos(x);
figure(1)
subplot(2,2,[1 2])
plot(x, y)
subplot(2,2,3)
plot(x, y)
subplot(2,2,4)
plot(x, y) I defer to you to decide what should be plotted in which subplot axes.
.
##### 2 CommentsShow 1 older commentHide 1 older comment
Star Strider on 26 Mar 2023
Ir makes sense. I wasn’t certain what the desired result was, exactly. I thought you only wanted three plots, one large on on top and the lower one split.
Perhaps this —
clearvars
x = -10:0.01:10;
y = cos(x);
figure(1)
subplot(3,2,[1 2])
plot(x, y)
subplot(3,2,[3 4])
plot(x, y)
subplot(3,2,5)
plot(x, y)
subplot(3,2,6)
plot(x, y) .

Bruno Luong on 26 Mar 2023
Plenty of examples are given in the doc page

Matt J on 26 Mar 2023
Edited: Matt J on 26 Mar 2023
Is this what you mean?
close all
x = -10:0.01:10;
y = cos(x);
ax=subplot(2,2,[1,2]); axis square
plot(x,y)
ax.Position=shrink(ax.Position);
subplot(2,2,3); plot(x,y); axis square
subplot(2,2,4); plot(x,y); axis square function pos=shrink(pos)
o=pos(1:2);
d=pos(3:4);
pos=[o(1)+d(1)/3,o(2),d(1)/3,d(2)];
end

### Categories

Find more on Subplots in Help Center and File Exchange

R2023a

### Community Treasure Hunt

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

Start Hunting!