make one panel blank in ggplot2
10,506
Solution 1
You change the table grobs.
## get the table grobs
g1 <- ggplot_gtable(ggplot_build(p))
library(gtable)
library(grid)
## here the main modification
## change one panel by a new rectangle.
pp <- gtable_add_grob(g1,rectGrob(gp=gpar(col=NA)),t=8,l=6,b=8,r=6)
grid.draw(pp)
Solution 2
You can do that, but not with facet_wrap
(as far as I know). Create your seperate sub-plots. For a detailed step by step approach, see my answer here.
Create a blank plot & with the package gridExtra
you can combine the plots:
library(gridExtra)
library(grid)
blank <- grid.rect(gp=gpar(col="white"))
grid.arrange(plot1, plot2, blank, plot3, ncol=2)
This approach will give you also a lot influence on the appearance of you final plot (IMHO).
Author by
user36102
Updated on July 27, 2022Comments
-
user36102 almost 2 years
p <- ggplot(mtcars, aes(mpg, wt)) p + geom_point()+facet_grid(cyl ~ vs)+theme_bw()
I would like to make the panel (1 vs 8 in the lower right hand corner) blank where no data points are shown, but at the same time, I would like to keep this arrangement.
so
facet_wrap(cyl ~ vs)
could not solve my problem.maybe more general question is that is it possible to arrange each panel in ggplot2?