将 hexbinplot 保存到对象

Save hexbinplot to object

有没有办法将 hexbin 数据图分配给对象?

library(hexbin)
myData <- hexbin(rnorm(100),rnorm(100), xbins=50) 
myPlot <- plot(myData)

我希望显示情节被抑制并且对象 myPlot 包含它。 然而,调用 myPlot 只是打印出一个列表。

那是因为调用 myPlot 只会调用 print.list(myPlot) 因为 plot(myData) 只是 returns 一个列表。这适用于 lattice 和 ggplot2 的唯一原因是因为它们为从 plot() 方法返回的对象定义了 print() 方法。

我没有发现存储 myData 对象并在需要生成绘图时调用 plot() 有什么本质上的错误。是否有任何用例需要自动打印提供的特定功能?

如果你想以网格对象的形式输出,你可以尝试使用grid::grid.grab()

myData <- hexbin(rnorm(100),rnorm(100)) 
plot(myData)
grobs <- grid::grid.grab()
str(grobs)

[1] "gTree" "grob"  "gDesc"