我一直在使用 cowplot::plot_grid 来排列多个 ggplot 图形,总的来说效果很好。但是,我现在遇到了一个问题,我想在底部图上包含 x 轴标签,但它最终会挤压所有图(使用 align =“vh”)或最低图(使用 align =“ v") 列中。
有什么方法可以提取 x 轴标签 grob,并将其添加为 plot_grid 中的另一个图(可能类似于https://github.com/wilkelab/cowplot/blob/master/vignettes/shared_legends.Rmd for legends )? 还是另一种方法?
感谢您的任何想法!
library(ggplot2)
library(cowplot)
a = data.frame(a = rnorm(100), b = rep(c("laskjdflsakjd", "cknmlokfjoweijojf"), 50))
b = data.frame(a = rnorm(100), b = rep(c("laskjdflsakjd", "cknmlokfjoweijojf"), 50))
c = data.frame(a = rnorm(100), b = rep(c("laskjdflsakjd", "cknmlokfjoweijojf"), 50))
aplot = ggplot(a, aes(x=b, y=a)) + geom_bar(stat = "identity")
bplot = ggplot(b, aes(x=b, y=a)) + geom_bar(stat = "identity")
cplot = ggplot(c, aes(x=b, y=a)) + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=90, vjust = 0.5))
plot_grid(aplot + theme(axis.text.x = element_blank(), axis.title.x = element_blank()),
bplot + theme(axis.text.x = element_blank(), axis.title.x = element_blank()),
cplot, ncol = 1, align = "vh")