Using patchwork, you can specify the layout of plots using a character vector and the design argument as bellow:
layout <- "
AABBBBDD
AACCCCDD
"
plot_layout(design = layout, guides = "collect")
I want tag the plots "A1","A2","B","C". However, the following code tags, "A1", "B", "C","D"
patchwork <- p2 p1 p3 p4
plot_layout(design = layout, guides = "collect")
patchwork[[1]] <- patchwork[[1]] theme_minimal() plot_layout(tag_level = "new")
patchwork Annots
I have tried puting brackets around (p2 p1)
to indicate that they should be nested together, but this hasn't helped.
Any help on this issue would be appreciated!
ps the plots used were produced as follows:
p1 <- ggplot(mpg)
geom_point(aes(x = displ, y = hwy))`
p2 <- ggplot(mpg)
geom_bar(aes(x = as.character(year), fill = drv), position = "dodge")
labs(x = "year")
p3 <- ggplot(mpg)
geom_density(aes(x = hwy, fill = drv), colour = NA)
facet_grid(rows = vars(drv))
p4 <- ggplot(mpg)
stat_summary(aes(x = drv, y = hwy, fill = drv), geom = "col", fun.data = mean_se)
stat_summary(aes(x = drv, y = hwy), geom = "errorbar", fun.data = mean_se, width = 0.5)```
CodePudding user response:
You can simply do:
patchwork <- p2 p1 p3 p4
plot_layout(design = layout, guides = "collect")
patchwork plot_annotation(tag_levels = list(c("A1", "A2", "B", "C")))