【发布时间】:2021-12-02 19:39:11
【问题描述】:
我创建了许多 ggplots 图表,我想用 ggpubr 包的 ggarrange 函数来组织这些图表。 当我尝试将基本 ggplots 与多面 ggplots 结合时遇到了一个问题:我无法再对齐它们了。
这是我的问题的可重现示例:
#Creating some data
df2 <- data.frame(supp=rep(c("VC", "OJ"), each=3),
dose=rep(c("0.5", "1", "2"),2),
len=c(6.8, 15, 33, 4.2, 10, 29.5))
head(df2)
#normal ggplot #1
p1<-ggplot(data=df2, aes(x=dose, y=len, group=supp)) +
geom_line()+
geom_point()
#normal ggplot #2 with a different y axis
p2<- ggplot(data=df2, aes(x=dose, y=10*len, group=supp)) +
geom_line()+
geom_point()
#faceted plot
p3<-p2+
facet_wrap(. ~ supp)
当我结合两个基本的 ggplots 并强制与 y 轴垂直对齐时,它就像一个魅力!
ggarrange(p1,p2,
nrow=2,
align="v")
但是当我将基本图与多面图结合时,对齐不起作用。
ggarrange(p1,p3,
nrow=2,
align="v")
我收到以下警告:
警告消息:图表不能垂直对齐,除非轴 参数已设置。放置未对齐的图表。
你能帮我解决这个问题吗?我已经看到了用cowplot解决这个问题的其他潜在想法,但我真的很想坚持使用ggpubr!
非常感谢
【问题讨论】:
-
您是否考虑过用于情节构图的拼凑包?
-
不,我没有!但我只是检查了一下,它就像一个魅力!您想提出一个我可以接受的拼凑包的答案吗?
-
当然,虽然我觉得只用两行代码给出答案有点糟糕:')
标签: r ggplot2 alignment facet-wrap ggpubr