r将png设备的大小设置为grob大小

时间:2018-08-13 13:44:58

标签: r grob

我已经创建了一个tableGrob T,根据先前给定的参数,该tableGrob的大小可以更改。

是否可以使用png()函数,以便从先前创建的tableGrob中获取width和height参数

让我们这样说吧:

library(gridExtra)

T=tableGrob(mydata)

 png("myfile"
 ,width=convertX(grobWidth(T),"points")    # pseudo-code
 ,height=convertX(grobHeight(T),"points"))
 grid.draw(T)
 dev.off

我收到一条消息,提示r无法启动png设备和大约50条警告。

1 个答案:

答案 0 :(得分:0)

我们可以使用sum()包中convertHeightconvertWidth方法中嵌套的grid进行设置:

grobHeight <- function(x) {
  grid::convertHeight(sum(x$heights), "in", TRUE)
}

grobWidth <- function(x) {
  grid::convertWidth(sum(x$widths), "in", TRUE)
}


png("myfile"
    ,width  = grobWidth(T)
    ,height = grobHeight(T)
      )