R: gtable_frame

gtable_frame {egg} | R Documentation

## gtable_frame

### Description

Reformat the gtable associated with a ggplot object into a 3x3 gtable where the central cell corresponds to the plot panel(s).

### Usage

    gtable_frame(g, width = unit(1, "null"), height = unit(1, "null"),
      debug = FALSE)

### Arguments

`g` | gtable
`width` | requested width
`height` | requested height
`debug` | logical draw gtable cells

### Value

3x3 gtable wrapping the plot

### Examples

    library(grid)
    library(gridExtra)
    p1 <- ggplot(mtcars, aes(mpg, wt, colour = factor(cyl))) +
      geom_point()

    p2 <- ggplot(mtcars, aes(mpg, wt, colour = factor(cyl))) +
      geom_point() + facet_wrap( ~ cyl, ncol=2, scales = "free") +
      guides(colour="none") +
      theme()

    p3 <- ggplot(mtcars, aes(mpg, wt, colour = factor(cyl))) +
      geom_point() + facet_grid(. ~ cyl, scales = "free")

    g1 <- ggplotGrob(p1);
    g2 <- ggplotGrob(p2);
    g3 <- ggplotGrob(p3);
    fg1 <- gtable_frame(g1)
    fg2 <- gtable_frame(g2)
    fg12 <- gtable_frame(gtable_rbind(fg1,fg2), width=unit(2,"null"), height=unit(1,"null"))
    fg3 <- gtable_frame(g3, width=unit(1,"null"), height=unit(1,"null"))
    grid.newpage()
    combined <- gtable_cbind(fg12, fg3)
    grid.draw(combined)

[Package egg version 0.4.0 Index]