【发布时间】:2018-02-24 10:44:23
【问题描述】:
我正在尝试使用 cowplot::plot_grid() 或 egg::ggarrange() 将两个 FACETED ggplot 对象与 coord_equal() 组合并垂直对齐它们。
egg::ggarrange() 方法适用于 UNFACETED 地块,解决方案已发布here。
但是,当包含分面时,egg::ggarrange() 解决方案会失效。 绘图已正确对齐,但 y 轴的单位是 x 轴的单位的两倍。关于如何将其概括为刻面的任何建议?
dat1 <- data.frame(x = rep(1:10, 2), y = 1:20, z = rep(c("A", "B"), 10))
dat2 <- data.frame(x = 1:10, y = 1:10, z = rep(c("A", "B"), 5))
plot1 <- ggplot(dat1, aes(x=x, y=y)) +
geom_point() + coord_equal() + facet_wrap(~z)
plot2 <- ggplot(dat2, aes(x=x, y=y)) +
geom_point() + coord_equal() + facet_wrap(~z)
egg::ggarrange(plot1, plot2, ncol = 1)
【问题讨论】:
-
这个question 对于当前的例子来说可能有点矫枉过正,但可以在答案中找到一些非常好的见解。
-
你试过
patchwork包吗?library(patchwork); plot1 / plot2软件包不在 CRAN 上(还),要安装它,运行library(devtools); devtools::install_github("thomasp85/patchwork")