Tenho uma figura que contém 4 subfiguras e quero adicionar apenas um rótulo de figura no canto superior esquerdo, digamos (A). Como posso adicionar essa linha no meu código abaixo?
data("iris")
iris1 <- iris2 <- iris3 <- iris
fig <- list()
fig[[1]] <- ggplot(data=iris,mapping=aes(x=Petal.Length,y=Petal.Width,color=Species))+
geom_point()+
geom_smooth(method="lm") +
labs(title = paste0("the title is ", expression(m[0])))
fig[[2]] <- ggplot(data=iris1,mapping=aes(x=Petal.Length,y=Petal.Width,color=Species))+
geom_point()+
geom_smooth(method="lm") +
labs(title = paste0("the title is ", expression(m[1])))
fig[[3]] <- ggplot(data=iris2,mapping=aes(x=Petal.Length,y=Petal.Width,color=Species))+
geom_point()+
geom_smooth(method="lm") +
labs(title = paste0("the title is ", expression(m[2])))
fig[[4]] <- ggplot(data=iris3,mapping=aes(x=Petal.Length,y=Petal.Width,color=Species))+
geom_point()+
geom_smooth(method="lm") +
labs(title = paste0("the title is ", expression(m[3])))
fig_all <- ggpubr::ggarrange(plotlist = fig, ncol = 2, nrow = 2, common.legend = TRUE, legend = "top")
fig_all
A figura gerada é a seguinte, mas não há rótulo de figura. Não quero ter rótulo para cada subfigura, mas apenas um rótulo para indicar para todos, no canto superior esquerdo.
Em vez de ggpubr, tente o
patchwork
pacoteEntão, para seu código, em vez de fig[[x]], atribua cada figura a um objeto em si, por exemplo fig1, fig2, fig3, fig4
e então coletá-los
fig1 + fig2 + fig3 + fig4 + plot_layout(ncol = 2, nrow = 2, guides = "collect")
Para obter os títulos gerais, você precisa adicionar
plot_annotation()
O código geral seria:
Aqui está o link para o pacote: https://patchwork.data-imaginist.com/
Você pode usar ggpubr::annotate_figure