从grid.arrange中删除textGrob的空白
我是个新手,我正在尝试创建一个简单的从grid.arrange中删除textGrob的空白,r,grid,gridextra,grob,R,Grid,Gridextra,Grob,我是个新手,我正在尝试创建一个简单的网格。排列对象,但不知道如何创建一个紧凑/紧凑的布局 下面是一个简单的例子,说明了我正在尝试运行什么以及我得到的结果 库(网格) 图书馆(gridExtra) name=textGrob(“我的名字”,gp=gpar(fontsize=20,fontface=“bold”)) name2=textGrob(“第二个名字”,gp=gpar(fontsize=16)) tbl=表格B(头部(虹膜)) 网格排列(名称、名称2、待定) 更新: 使用答案,我发现我可
网格。排列对象,但不知道如何创建一个紧凑/紧凑的布局
下面是一个简单的例子,说明了我正在尝试运行什么以及我得到的结果
库(网格)
图书馆(gridExtra)
name=textGrob(“我的名字”,gp=gpar(fontsize=20,fontface=“bold”))
name2=textGrob(“第二个名字”,gp=gpar(fontsize=16))
tbl=表格B(头部(虹膜))
网格排列(名称、名称2、待定)
更新:
使用答案,我发现我可以得到文本紧凑,但我仍然努力使表格的权利下的文本
库(网格)
图书馆(gridExtra)
name=textGrob(“我的名字”,gp=gpar(fontsize=20,fontface=“bold”))
name2=textGrob(“第二个名字”,gp=gpar(fontsize=16))
tbl=表格B(头部(虹膜))
保证金=单位(0.5,“线”)
grid.newpage()
网格排列(名称、名称2、待定),
高度=单位c(总高度(名称)+1.2*边距,
grobHeight(名称2)+保证金,
单元(1,“空”))
通常,您会对单个grob使用top=
参数。像这样的两个grob,可能最容易将它们组合在一张表中;主要的障碍是GTHT不考虑理由,所以你必须自己调整位置,
library(gtable)
justify <- function(x, hjust="center", vjust="top", draw=FALSE){
w <- sum(x$widths)
h <- sum(x$heights)
xj <- switch(hjust,
center = 0.5,
left = 0.5*w,
right=unit(1,"npc") - 0.5*w)
yj <- switch(vjust,
center = 0.5,
bottom = 0.5*h,
top=unit(1,"npc") - 0.5*h)
x$vp <- viewport(x=xj, y=yj)
if(draw) grid.draw(x)
return(x)
}
title <- gtable_col('title', grobs = list(name,name2),
heights = unit.c(grobHeight(name) + 1.2*margin,
grobHeight(name2) + margin))
grid.newpage()
grid.arrange(justify(title, vjust='bottom'), justify(tbl))
库(gtable)
证明正当