0

我正在尝试在 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)

底部情节被压扁了!

4

1 回答 1

1

试试这个,

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

在此处输入图像描述

于 2018-02-11T01:52:39.270 回答