用gtable对象排列GROB

用gtable对象排列GROB,r,ggplot2,gridextra,R,Ggplot2,Gridextra,从中,我学会了如何安排两个绘图区域对齐的绘图 我的问题是:我怎样才能得到一个安排好的绘图对象 例如: require(ggplot2) require(gridExtra) A <- ggplot(CO2, aes(x=Plant)) + geom_bar() +coord_flip() B <- ggplot(CO2, aes(x=Type)) + geom_bar() +coord_flip() gA <- ggplot_gtable(ggplot_build(A)

从中,我学会了如何安排两个绘图区域对齐的绘图

我的问题是:我怎样才能得到一个安排好的绘图对象

例如:

require(ggplot2)
require(gridExtra)

A <- ggplot(CO2, aes(x=Plant)) + geom_bar() +coord_flip() 
B <- ggplot(CO2, aes(x=Type)) + geom_bar() +coord_flip() 

gA <- ggplot_gtable(ggplot_build(A))
gB <- ggplot_gtable(ggplot_build(B))
maxWidth = grid::unit.pmax(gA$widths[2:3], gB$widths[2:3])
gA$widths[2:3] <- as.list(maxWidth)
gB$widths[2:3] <- as.list(maxWidth)

## works:
grid.arrange(gA, gB, ncol=1)

## does not work:
theplot <- grid.arrange(gA, gB, ncol=1, plot=FALSE)
require(ggplot2)
需要(额外)

A使用函数
arrangeGrob()
将两个绘图保存为对象

theplot <- arrangeGrob(gA, gB, ncol=1)

绘图没有
网格的
绘图
参数。排列
@baptiste在网格的帮助页面中。排列:
值:返回框架grob;副作用(绘图)如果plot=T
good catch,帮助页面自早期版本删除后就没有更新过。我已经更新了帮助页面(在github上)和
grid。arrange
现在还以不可见的方式返回grob。非常好!那很方便。非常感谢。不幸的是,我没有足够的声誉来更新评论,抱歉:-(对我不起作用:
arrangeGrob中的错误(gA,gB,ncol=1,plot=FALSE):输入必须是grobs!