当我使用左对齐字符串创建tableGrob时,最终结果显示最后剪切的字符串。 是错误还是我错过了什么?
library(gridExtra)
slices <- c(10, 12, 4, 16, 8)
lbls <- c("US", "UK", "long string left justified but is clipped at the end", "Germany", "France")
z <- data.frame(lbls,slices)
grid.newpage()
grid.draw(tableGrob(z, core.just="left"))
答案 0 :(得分:10)
这是一个错误;包裹作者显然不理解网格中的文本对齐。
您可以像这样修复它,
textii <- function(d, gp=gpar(), name="row-label-",
just="center", parse=TRUE){
x <- switch(just, "center"=0.5, "right"=1, "left"=0)
parseglobal <- parse
function(ii, parse=parseglobal){
lab <- if(parse) parse(text=d[ii]) else d[ii]
textGrob(x=x, label=lab, just=just, gp=gp, name=paste(name, ii, sep=""))
}
}
assignInNamespace("textii", textii, "gridExtra")
grid.table(z, core.just="left")
和/或调整padding.h
参数以提供更多空间。叹了口气,真是一团糟。