Reputation: 20463
I would like to know how to arrange one grob object (a table) inside another. Consider the following example:
library(ggplot2)
library(gridExtra)
p1 <- qplot(data=mtcars, x = mpg, y = hp, facets = ~ hp, geom="point")
t1 <- tableGrob(head(mtcars))
print(arrangeGrob(p1, t1))
This yields:
What I would like to do is place the table inside the other object like this:
Is this possible to do using gridArrange
or perhaps some other methods from grid
and/or gridExtra
?
Upvotes: 3
Views: 780
Reputation: 132576
Here is one possibility using grid functions:
png("SO.png", width = 1440, height = 720)
plot(p1)
vp <- viewport(x = 0.95, y = 0.02,
width = unit(0.4, "npc"), height = unit(0.2, "npc"),
just = c("right", "bottom"))
pushViewport(vp)
grid.draw(t1)
dev.off()
Upvotes: 4