我想在ggplot2
图上放置几个表,它们在不同的位置,以不同的大小以及以动态调整大小的方式放置。我欢迎任何更好的解决方案,但是我的想法是使用视口实现所有这些目标(grid.table
确实有一个vp
参数)。
但是,看来tableGrob
只是无视width
的{{1}}和height
设置! (有趣的是,它确实了解vp
和x
。)这是一个最小的可重现示例:
y
答案 0 :(得分:2)
tableGrob默认扩展为以给定的字体大小适合文本;如果要将其拉伸到视口,则必须手动分配自定义宽度/高度,以免出现内容溢出的风险。
library( grid )
library( gridExtra )
data( iris )
grid.newpage()
vp <- viewport( x = 0.4, y = 0.4, width = 0.3, height = 0.3 )
grid.rect( vp = vp)
tg <- tableGrob( iris[ 1:3, 1:2 ], vp = vp)
tg$widths[-1] <- rep(unit(1/2,"null"), 2)
tg$heights <- rep(unit(1/nrow(tg),"null"), nrow(tg))
grid.draw(tg)