删除地块之间的白色 space 和 grid.arrange 中的 table
Remove white space between plots and table in grid.arrange
我想删除默认情况下在图和 grid.arrange 中的 table 之间插入的大间距,如下面的 MWE 所示:
require(ggplot2)
require(gridExtra)
list1=data.frame(mtcars[1:3, ]) # Dummy data
p1 = ggplot(list1, aes(mpg,cyl)) + geom_point() # Dummy plot
p2 = ggplot(list1, aes(disp,hp)) + geom_point() # Dummy plot
plots <- arrangeGrob(p1, p2,nrow=2)
table <- tableGrob(list1)
grid.arrange(plots, table)
我怀疑此行为是由于 tableGrob,但我找不到任何解决此问题的答案。
提前致谢!
我实际上找到了控制 grobs 之间间距的参数:高度,请参见下面的行
grid.arrange(plots, table, heights=c(5,1))
grid.arrange()
默认情况下为每个单元格分配相等的 space。如果你想紧贴特定的 grob,你应该查询它的大小,并显式传递它,
library(grid)
th <- sum(table$heights) # note: grobHeights.gtable is inaccurate
grid.arrange(plots, table, heights = unit.c(unit(1, "null"), th))
我想删除默认情况下在图和 grid.arrange 中的 table 之间插入的大间距,如下面的 MWE 所示:
require(ggplot2)
require(gridExtra)
list1=data.frame(mtcars[1:3, ]) # Dummy data
p1 = ggplot(list1, aes(mpg,cyl)) + geom_point() # Dummy plot
p2 = ggplot(list1, aes(disp,hp)) + geom_point() # Dummy plot
plots <- arrangeGrob(p1, p2,nrow=2)
table <- tableGrob(list1)
grid.arrange(plots, table)
我怀疑此行为是由于 tableGrob,但我找不到任何解决此问题的答案。
提前致谢!
我实际上找到了控制 grobs 之间间距的参数:高度,请参见下面的行
grid.arrange(plots, table, heights=c(5,1))
grid.arrange()
默认情况下为每个单元格分配相等的 space。如果你想紧贴特定的 grob,你应该查询它的大小,并显式传递它,
library(grid)
th <- sum(table$heights) # note: grobHeights.gtable is inaccurate
grid.arrange(plots, table, heights = unit.c(unit(1, "null"), th))