Use subplot command to make 3+ Vertically Stacked Plots

169 visualizaciones (últimos 30 días)
AmericanExpat26
AmericanExpat26 el 17 de Sept. de 2016
Respondida: Steven Lord el 14 de Jun. de 2019
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?

Respuesta aceptada

Star Strider
Star Strider el 17 de Sept. de 2016
Try this:
figure(1)
subplot(3,1,1)
plot(...)
subplot(3,1,2)
plot(...)
subplot(3,1,3)
plot(...)
  2 comentarios
AmericanExpat26
AmericanExpat26 el 17 de Sept. de 2016
Many thanks. Star Strider. In hindsight, this was a real 'duh' moment after reading the answer.
Star Strider
Star Strider el 17 de Sept. de 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.

Iniciar sesión para comentar.

Más respuestas (3)

Gustavo
Gustavo el 8 de Dic. de 2016
Hi, how did you remove the space between the subplots?
  1 comentario
Alejandro
Alejandro el 11 de Sept. de 2017
Editada: Alejandro el 11 de Sept. de 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.

Iniciar sesión para comentar.


Steven Lord
Steven Lord el 14 de Jun. de 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 el 14 de Jun. de 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!

Translated by