How to organize one grob object inside another using ggplot2 and gridExtra packages in r

I would like to know how to arrange one grob object (table) inside another. Consider the following example:


p1 <- qplot(data=mtcars, x = mpg, y = hp, facets = ~ hp, geom="point")
t1 <- tableGrob(head(mtcars))
print(arrangeGrob(p1, t1))


This gives:

Plot 01

What I would like to do is place the table inside another object like this:

Desired result

Can this be done with gridArrange

or perhaps other methods from grid

and / or gridExtra



source to share

1 answer

Here is one possibility to use the grid functions:

png("SO.png", width = 1440, height = 720)


vp <- viewport(x = 0.95, y = 0.02, 
               width = unit(0.4, "npc"), height = unit(0.2, "npc"),
               just = c("right", "bottom"))


resulting plot



All Articles