inspired by egg::tag_facet,
tag_facet2 <- function(p, open="(", close = ")",
tag_pool = letters,
x = 0, y = 0.5,
hjust = 0, vjust = 0.5,
fontface = 2, ...){
gb <- ggplot_build(p)
lay <- gb$layout$layout
nm <- names(gb$layout$facet$params$rows)
tags <- paste0(open,tag_pool[unique(lay$COL)],close)
tl <- lapply(tags, grid::textGrob, x=x, y=y,
hjust=hjust, vjust=vjust, gp=grid::gpar(fontface=fontface))
g <- ggplot_gtable(gb)
g <- gtable::gtable_add_rows(g, grid::unit(1,"line"), pos = 0)
lm <- unique(g$layout[grepl("panel",g$layout$name), "l"])
g <- gtable::gtable_add_grob(g, grobs = tl, t=1, l=lm)
grid::grid.newpage()
grid::grid.draw(g)
}
tag_facet2(company)
