首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ggplot和grob安排

ggplot和grob安排
EN

Stack Overflow用户
提问于 2018-03-22 23:19:09
回答 1查看 1.5K关注 0票数 0

我有3个ggplots ( g1,g2,g3),并希望显示它们的排列,使g1更大,在其他2之间。

代码语言:javascript
复制
g1 =ggplot(data = data.frame(x = 1 ,y =1), aes(x = x, y = 1))+geom_point()
g2 = ggplot(data = data.frame(x = 1 ,y =1), aes(x = x, y = 1))+geom_point()
g3 = ggplot(data = data.frame(x = 1 ,y =1), aes(x = x, y = 1))+geom_point()
library(grid)
lay <- rbind(c(2,1,1,1,3),
             c(2,1,1,1,3))
gs = grobTree( ggplotGrob(g1), ggplotGrob(g2), ggplotGrob(g3)  )

grid.arrange(grobs = gs, layout_matrix = lay)

我正在看这里:https://cran.r-project.org/web/packages/gridExtra/vignettes/arrangeGrob.html,但我遇到了一个错误。对正确的语法有什么想法吗?

代码语言:javascript
复制
Error in gtable_add_grob(gt, grobs, t = positions$t, b = positions$b,  : 
  Not all inputs have either length 1 or same length same as 'grobs'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-22 23:23:57

我从来没有使用过grobTree函数,但是用一个列表替换它,它可以工作。

代码语言:javascript
复制
gs = list(ggplotGrob(g1), ggplotGrob(g2), ggplotGrob(g3))
grid.arrange(grobs = gs, layout_matrix = lay)

这就是结果,正如你想要的那样

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

https://stackoverflow.com/questions/49439982

复制
相关文章

相似问题

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