The @Stibu extension is a bit: to align the graphs, use gtable(or see the answers to your previous question )
library(ggplot2)
library(gtable)
data=data.frame(x=rep(1:27, each=5), y = rep(1:5, times = 27))
yes <- ggplot(data, aes(x = x, y = y))
yes <- yes + geom_point() + geom_line() +
scale_x_continuous(limits = c(0,28), expand = c(0,0))
other_data = data.frame(x = 1:27, y = 50:76 )
no <- ggplot(other_data, aes(x=x, y=y))
no <- no + geom_bar(stat = "identity") +
scale_x_continuous(limits = c(0,28), expand = c(0,0))
gYes = ggplotGrob(yes)
gNo = ggplotGrob(no)
plot(rbind(gNo, gYes, size = "first"))

Edit To change the height of the graphs:
g = rbind(gNo, gYes, size = "first")
panels <- g$layout$t[grepl("panel", g$layout$name)]
g$heights[panels] <- unit(c(0.7, 0.3), "null")
plot(g)
source
share