我有一个由2x2配置中的4个图组成的多点图。我使用"cowplot“包和使用以下代码的plot_grid函数排列了图
plot_grid(p1, p2, p3, p4, align='vh', vjust=1, scale = 1)其中p1-p4是我的4个图。生成的图形具有与多线图中的每一列相关联的x轴标签:

有没有人知道我如何编写一个位于多重图底部中心的x轴标签,无论是用牛图还是其他方法?
发布于 2018-05-23 07:02:41
另一种选择是使用textGrob为常见的x和y标签添加注释。
在本例中,如果希望删除各个轴标签,只需在绘图调用中包含theme(axis.title = element_blank())即可。(或者,仅对于y轴,使用theme(axis.title.y=element_blank()))。
library(ggplot2)
library(cowplot)
library(grid)
library(gridExtra)
ToothGrowth$dose <- as.factor(ToothGrowth$dose)
#make 4 plots
p1<-ggplot(ToothGrowth, aes(x=dose, y=len)) +
geom_boxplot()
p2<-ggplot(ToothGrowth, aes(x=dose, y=supp)) +
geom_boxplot()
p3<-ggplot(ToothGrowth, aes(x=supp, y=len)) +
geom_boxplot()
p4<-ggplot(ToothGrowth, aes(x=supp, y=dose)) +
geom_boxplot()
#combine using cowplot
plot<-plot_grid(p1, p2, p3, p4, align='vh', vjust=1, scale = 1)
#create common x and y labels
y.grob <- textGrob("Common Y",
gp=gpar(fontface="bold", col="blue", fontsize=15), rot=90)
x.grob <- textGrob("Common X",
gp=gpar(fontface="bold", col="blue", fontsize=15))
#add to plot
grid.arrange(arrangeGrob(plot, left = y.grob, bottom = x.grob))

发布于 2016-09-21 10:46:19
这有点晚了,但我也有同样的问题,所以希望下一个查看这个问题的人会发现这个问题很有用。
library(cowplot)
plot<-plot_grid(p1, p2, p3, p4, align='vh', vjust=1, scale = 1)
ggdraw(add_sub(plot, "Label", vpadding=grid::unit(0,"lines"),y=6, x=0.5, vjust=4.5))https://stackoverflow.com/questions/33114380
复制相似问题