How can I properly center the tags of a nested plot in the following example? I want to center the tag/title of the second panel just like the first.
Alternatively, using multiple titles/subtitles would also be fine instead of tags (I've tried using titles but the title of the lower graph disappears when combining the plots). Setting element_text(hjust = 0.5) also doesn't seem to have any effect here.
library(ggplot2)
library(patchwork)
p1 <- ggplot(mtcars) +
geom_point(aes(mpg, disp)) +
ggtitle('Plot 1')
p2 <- ggplot(mtcars) +
geom_boxplot(aes(gear, disp, group = gear)) +
ggtitle('Plot 2')
p3 <- ggplot(mtcars) +
geom_point(aes(hp, wt, colour = mpg)) +
ggtitle('Plot 3')
p4 <- ggplot(mtcars) +
geom_bar(aes(gear)) +
facet_wrap(~cyl) +
ggtitle('Plot 4')
ptop <- p1
pbot <- p1 + p2 + p3 + p4
combined <- ptop + pbot +
plot_layout(ncol = 1, guides = "collect") +
plot_annotation(tag_levels = list(c("(a) Panel a", "(b) Panel b "))) &
theme(plot.tag = element_text(hjust = 0.5, size = 30),
plot.tag.position = "top",
legend.position = "bottom")
combined

