I want to make multiple ggplot in a loop and show them on one plot.
for ( i in 1:8) {
g <- ggplot(data=mtcars, aes(x=hp, y=wt))+
geom_point()
Note that, in the loop you provided, the counter i isn't referenced in the plot, so you'll end up printing the same plot eight times!
If you have a bunch of different subsets of a single dataset and want to lay them out, you can follow @PKumar's comment and check out facetting in ggplot2. It essentially splits your data up into groups according to one or more of your columns and then lays them out in a grid or a ribbon.
On the other hand, if you have a bunch of a different plots that you want to combine on one page, there're a couple of packages that can make this happen:
Hope those help!