Rmarkdown中使用coord.fixed()绘制分面ggplot时生成的文档出现上下空白问题求助
Rmarkdown中使用coord.fixed()绘制分面ggplot时生成的文档出现上下空白问题求助
大家好,我最近在Rmarkdown里用ggplot绘图时碰到了一个头疼的问题:当给分面图加上coord_fixed()后,生成的文档总会出现多余的上下空白。先给大家放完整的可复现代码,方便大家重现问题:
valN <- 2000 valCorr <- .7 matCov <- matrix(c(1, valCorr, valCorr, 1), byrow = TRUE, ncol = 2) vecMeans <- c(0, 0) MASS::mvrnorm(n = valN, mu = vecMeans, Sigma = matCov) %>% as_tibble(.name_repair = "universal") %>% rename(Pre = `...1`, Post = `...2`) %>% mutate(ID = row_number(), group = ID %% 2) -> tibDat
情况1:无分面的基础绘图,无多余空白
先画了一个普通的散点拟合图,设置了轴范围并加上coord_fixed(),这时候生成的图完全正常,没有多余空白:
ggplot(data = tibDat, aes(x = Pre, y = Post)) + geom_point(alpha = .1) + geom_smooth() + xlim(c(-4, 4)) + ylim(c(-4, 4)) + coord_fixed()
情况2:分面但不使用coord_fixed(),无多余空白
接着我把图按group分面,去掉coord_fixed()后,生成的图依然正常,没有出现多余空白:
ggplot(data = tibDat, aes(x = Pre, y = Post)) + facet_grid(cols = vars(group), space = "free", ) + geom_point(alpha = .1) + geom_smooth() + xlim(c(-4, 4)) + ylim(c(-4, 4))
情况3:分面且添加coord_fixed(),出现额外上下空白
但只要给分面图加上coord_fixed(),生成的文档里就会莫名出现多余的上下空白,对应的代码如下:
ggplot(data = tibDat, aes(x = Pre, y = Post)) + facet_grid(cols = vars(group), space = "free", ) + geom_point(alpha = .1) + geom_smooth() + xlim(c(-4, 4)) + ylim(c(-4, 4)) + coord_fixed()
有没有朋友遇到过类似的问题?或者知道怎么解决分面后加coord_fixed()产生多余空白的问题吗?麻烦大家帮忙指点一下,谢谢啦!
备注:内容来源于stack exchange,提问作者cpsyctc
相关产品推荐
相关产品推荐

