我正在尝试使用 ggarrange 制作多图,每个图下方都有编号/字母标签。下面的示例代码给出了正确的标签,但它们错误地放置在绘图标题旁边,而不是像我希望的那样放置在 x 轴标签下方。我一生都无法弄清楚如何获得正确的位置。有没有人遇到过类似的问题,你解决了吗?
library(ggplot2)
library(ggpubr)
gg1 <- ggplot(mtcars,aes(x=hp,y=mpg))+
geom_point(aes(color=factor(cyl)),alpha=.5)+
stat_smooth(method='lm', se=F, color='red')+
ggtitle('plot 1')+
theme_bw()+
theme(aspect.ratio=1,
legend.position = c(1, 1),
legend.justification = c(1,1),
legend.background = element_rect(colour = NA, fill = NA))
gg2 <- ggplot(mtcars)+
geom_density(aes(x=hp, color=factor(cyl)))+
ggtitle('plot 2')+
theme_bw()+
theme(aspect.ratio=1,
legend.position = c(1, 1),
legend.justification = c(1,1),
legend.background = element_rect(colour = NA, fill = NA))
gg3 <- ggplot(mtcars)+
geom_density(aes(x=mpg, color=factor(cyl)))+
ggtitle('plot 3')+
theme_bw()+
theme(aspect.ratio=1,
legend.position = c(1, 1),
legend.justification = c(1,1),
legend.background = element_rect(colour = NA, fill = NA))
gg4 <- ggplot(mtcars,aes(x=hp,y=mpg))+
geom_point(aes(color=factor(cyl)),alpha=.5)+
stat_smooth(method='lm', se=F, color='red')+
ggtitle('plot 4')+
theme_bw()+
theme(aspect.ratio=1,
legend.position = c(1, 1),
legend.justification = c(1,1),
legend.background = element_rect(colour = NA, fill = NA))
ggarrange(gg1,gg2,gg3,gg4, nrow = 2, ncol = 2, labels = paste0("(",letters[1:4],")"))
无耻地改编自相关问题的代码,给出以下输出:
您可以使用 ggarrange 的
label.y
参数来更改标签的 y 位置。
可能需要进行一些实验才能找到适合您的输出设备和设置的正确偏移。