Align multiple ggplot2 plots with grid

A cleaner way of doing the same thing but in a more generic way is by using the formatter arg:

p1 <- ggplot(data1) +
    aes(x=x, y=y, colour=x) +
    geom_line() + 
    scale_y_continuous(formatter = function(x) format(x, width = 5))

Do the same for your second plot and make sure to set the width >= the widest number you expect across both plots.


1. Using cowplot package:

library(cowplot)
plot_grid(p1, p2, ncol=1, align="v")

enter image description here


2. Using tracks from ggbio package:

Note: There seems to be a bug, x ticks do not align. (tested on 17/03/2016, ggbio_1.18.5)

library(ggbio)
tracks(data1=p1,data2=p2)

enter image description here