Use subplot command to make 3+ Vertically Stacked Plots

169 views (last 30 days)
I am trying to a plot of 3-4 vertically stacked subplots showing different quantities on the y-axis, but with the same x-axis. I use subplot(2,1,1) and (2,1,2) for the first and second plot. I try but subplot(2,1,3) for the third plot, but MATLAB returns an error - "Index exceeds number of subplots." In various publications, I have seen 3+ vertically stacked plots using the same x-axis like the one below.
Is this not possible without the creation of a second figure? Also, is there a shortcut to possibly combining subplots from two separate figures to accomplish this?

Accepted Answer

Star Strider
Star Strider on 17 Sep 2016
Try this:
figure(1)
subplot(3,1,1)
plot(...)
subplot(3,1,2)
plot(...)
subplot(3,1,3)
plot(...)
  2 Comments
AmericanExpat26
AmericanExpat26 on 17 Sep 2016
Many thanks. Star Strider. In hindsight, this was a real 'duh' moment after reading the answer.
Star Strider
Star Strider on 17 Sep 2016
My pleasure.
There are no ‘duh’ moments, only opportunities to learn more. With R2016b now available, those opportunities will increase, since the release notes promise even more functionality.

Sign in to comment.

More Answers (3)

Gustavo
Gustavo on 8 Dec 2016
Hi, how did you remove the space between the subplots?
  1 Comment
Alejandro
Alejandro on 11 Sep 2017
Edited: Alejandro on 11 Sep 2017
You select the mouse pointer icon and select a subplot, you can now move them closer using the arrow keys. It took me so long to figure that out, it is kind of annoying that there's no easy way built in matlab to programmatically do this kind of stacked plot that share the same x-axis data.

Sign in to comment.


Steven Lord
Steven Lord on 14 Jun 2019
This question was asked before this function existed, but if you're using release R2018b or later try the stackedplot function.

Habtamu Tesfaw
Habtamu Tesfaw on 14 Jun 2019
Can't understand the accepted answer. Where is the stacking command then? please help me

Community Treasure Hunt

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

Start Hunting!