我正在尝试在 ggplot 中使用常见的 x 轴和 y 轴堆叠图。我想要做的是只有底部图显示 x 轴标签和标题。但是我从来没有能够弄清楚如何在 ggplot2 中干净地做到这一点,而不会通过携带 x 轴标签/标题的优点来压扁底部图。必须有一个简单的方法来做到这一点——每个人都想堆叠图表,对吧?!
我目前正在尝试使用 ggarrange。下面的示例代码。请注意,底部图被垂直压缩,因为它具有刻度和轴标签。我可以让前两个有白色字体标签/标题,但是如果你使用那个 hack,那么三个之间的边距空间就会不合适。
我肯定对 gpubr 以外的软件包持开放态度,但我希望有一些不太复杂的东西可以在以后的情况下使用,因为我相信我会再次遇到这种情况......
请帮忙!!-瑞安
#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)