首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个情节并排-如何使所有的情节相同的宽度?

多个情节并排-如何使所有的情节相同的宽度?
EN

Stack Overflow用户
提问于 2018-01-25 07:51:45
回答 1查看 4.5K关注 0票数 3

我只是安排了三个格点,这样它们就会在被拯救的巴布亚新几内亚中并排出现。因此,我遵循了this answer的有用线索。为了更清晰,我只展示了最右边情节的传说。逻辑上,现在必须指定一个更大的宽度,最右边的情节,因为传奇。使用scales::arrangeGrob(),我们可以实现这一点,例如c(600, 600, 750)

代码语言:javascript
复制
library(ggplot2)
economics$long <- with(economics, ifelse(uempmed > 8.61, 1, 0))
p <- ggplot(economics[economics$date < "1979-01-01", ], 
            aes(date, unemploy, color = long)) + 
  geom_line() + theme(legend.position="none")
q <- ggplot(economics[economics$date < "1991-01-01", ], 
            aes(date, unemploy, color = long)) + 
  geom_line() + theme(legend.position="none")
r <- ggplot(economics[economics$date < "2003-01-01", ], 
            aes(date, unemploy, color = long)) +
  geom_line()

l <- list(p, q, r)

library(gridExtra)
ggsave("test.png", 
       arrangeGrob(grobs = l, nrow = 1, ncol = 3, 
                   widths = c(600, 600, 750), heights = NULL, 
                   padding = unit(0.5, "line")),
       width = 18, height = 9, units = "cm", dpi = 600,
       scale = 1.5)

我相信,通过反复试验,我可以调整最右边的情节,直到它适合。实际的问题是,尽管600的值相同,但中间和最左边的地块的宽度并不匹配,这真的很烦人:

有人知道如何使所有的情节都一样宽吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-25 08:56:36

一个可能的解决方案是通过egg使用包@baptise

代码语言:javascript
复制
# Using OPs data/plots
# Add aligned plots into a single object 
figure <- egg::ggarrange(p, q, r, nrow = 1)
# Save into a pdf
ggsave("~/myStocks.pdf", figure, width = 22, height = 9, units = "cm", dpi = 600)

对齐结果如下所示:

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48438014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档