In R, we could plot each graph independently and then arrange all or some of the graphs easily by packages like gridExtra. For example,
p1 <- ggplot(aes(x1,y1), data=df) + geom_point()
p2 <- ggplot(aes(x2,y2), data=df) + geom_point()
p3 <- ggplot(aes(x3,y3), data=df) + geom_point()
p4 <- ggplot(aes(x4,y4), data=df) + geom_point()
I plot 4 graphs, and now I just want put 2 of them side by side to do some analysis, so I could
grid.arrange(p1, p2, ncol=1)
grid.arrange(p1, p3, ncol=1)
...
I find this is quite convenient for us to arbitrarily to combine and arrange independent graphs. However, can we do the same thing in Python with matplotlib? The big problem here is that I do not know how many graphs are there before hand and either how I want to combine and arrange them.