如何在ggarrange中使用常见的x轴堆叠时保留绘图尺寸?

时间:2018-02-10 23:11:40

标签: r ggplot2 ggpubr

我正在尝试在ggplot中堆叠具有常见x轴和y轴的图。我想要做的是只有底部的图表显示x轴标签和标题。但是我从来没有弄清楚如何在ggplot2中干净利落地做到这一点,而没有通过携带x轴标签/标题的美德来压缩底部的情节。 必须是一种简单的方法 - 每个人都想堆叠图表,对吧?!

我目前正在尝试使用ggarrange。示例代码如下。请注意,底部绘图会被垂直压缩,因为它具有刻度线和轴标签。我可以让前两个有白色字体标签/标题,但如果你使用那个黑客,那么三者之间有一个不合适的边距空间。

我绝对对gpubr以外的其他软件包开放,但我希望有一些不太精细的东西,我可以在后续情况下使用,因为我确定我会再次遇到这个问题。

请帮忙! -Ryan

require(ggplot2); require(ggpubr)

X=data.frame(seq(as.Date("2001-01-01"),as.Date("2001-12-31"),by='days')); colnames(X)='date'
X$Y1=sample(80:100,size=nrow(X),replace=T)
X$Y2=sample(100:120,size=nrow(X),replace=T)
X$Y3=sample(50:70,size=nrow(X),replace=T)

plot.Y1= ggplot(X, aes(x=date,y=Y1))+
  geom_line()+lims(y=c(50,150))+
  theme(axis.title.x = element_blank(),axis.text.x=element_blank())

plot.Y2= ggplot(X, aes(x=date,y=Y2))+
  geom_line()+lims(y=c(50,150))+
  theme(axis.title.x = element_blank(),axis.text.x=element_blank())

plot.Y3= ggplot(X, aes(x=date,y=Y3))+
  geom_line()+lims(y=c(50,150))

x11(10,8)

ggarrange(plot.Y1,plot.Y2,plot.Y3,nrow=3,ncol=1)

Bottom plot is squished!

1 个答案:

答案 0 :(得分:1)

试试这个,

egg::ggarrange(plot.Y1,plot.Y2,plot.Y3,ncol=1)

enter image description here