I'd like to plot a few measurements on different individuals in two treatment groups. I'd like to show two columns, one for the first treatment, one for the second treatment. Each column would have a plot for each individual in that group. Something like this:

```
require(ggplot2)
t <- seq(from=0, to=10, length.out=100)
ids <- c(1, 17, 22, 4, 55, 74, 88)
treatment <- c('A', 'A', 'A', 'B', 'B', 'B', 'B')
df <- NULL
for (i in 1:length(ids))
    df <- rbind(df, data.frame(time=t, treatment=treatment[i], id=ids[i], value=rnorm(length(t))))
ggplot(df, aes(y=value, x=time)) +
    geom_line() +
    facet_grid(id ~ treatment, scale='free_y')

```

which produces

[![Resulting plot](https://i.stack.imgur.com/cE6J2.png)](https://i.stack.imgur.com/cE6J2.png)

The IDs will almost certainly not line up so you get a number of empty graphs in the middle. The IDs don't correspond to the same individuals anyway, so lining them up is not necessary. I'd like for the ID to be independent in the two columns. Is there any convenient way to do this in ggplot without resorting to anything overly hacky or am I stuck looking at different plots side by side? I could give them "pseudo" IDs which would remove the gaps but removes the utility of the row labels.