首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用cowplot软件包为多重图添加居中X轴标签

使用cowplot软件包为多重图添加居中X轴标签
EN

Stack Overflow用户
提问于 2015-10-14 07:42:53
回答 2查看 11.2K关注 0票数 11

我有一个由2x2配置中的4个图组成的多点图。我使用"cowplot“包和使用以下代码的plot_grid函数排列了图

代码语言:javascript
复制
plot_grid(p1, p2, p3, p4, align='vh', vjust=1, scale = 1)

其中p1-p4是我的4个图。生成的图形具有与多线图中的每一列相关联的x轴标签:

有没有人知道我如何编写一个位于多重图底部中心的x轴标签,无论是用牛图还是其他方法?

EN

回答 2

Stack Overflow用户

发布于 2018-05-23 07:02:41

另一种选择是使用textGrob为常见的x和y标签添加注释。

在本例中,如果希望删除各个轴标签,只需在绘图调用中包含theme(axis.title = element_blank())即可。(或者,仅对于y轴,使用theme(axis.title.y=element_blank()))。

代码语言:javascript
复制
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))

票数 17
EN

Stack Overflow用户

发布于 2016-09-21 10:46:19

这有点晚了,但我也有同样的问题,所以希望下一个查看这个问题的人会发现这个问题很有用。

代码语言:javascript
复制
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))
票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33114380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档