我经常使用网格包来创建数字。然后我使用 grid::grid.text()
来注释绘图区域外的数字。通常情况下,我制作PDF文件,没有问题。
现在我需要将我的数字保存为其他格式,比如PNG。而我现在发现,当我尝试在绘图区域之外进行注释时,注释被剪掉了。下面是一个小例子。
library(grid)
library(gridExtra)
library(lattice)
myPanel <- function (...) {
panel.xyplot(...)
grid.text("This is a very, very long line", x = .99, y = .5)
}
xyplot(1:10 ~ 1:10, panel = myPanel, par.settings = list(clip = list(panel="off")))
我可以用以下方法解决这个问题 gridExtra::grid.arrange()
但这似乎是解决一个简单问题的过于复杂的方法。
myPlot_grob <- grid.grab(wrap = TRUE)
rectTransparent <- rectGrob(gp = gpar(col = 'transparent', fill = 'transparent'))
grid.arrange(
grobs = list(
rectTransparent,
myPlot_grob,
rectTransparent),
ncol = 3,
widths = unit(c(2, 4, 2), 'inches'))
还有没有更简单的方法?我有Deepayan Sarkar的格子书和Paul Murrell的 R图形。 但我没有在其中找到明确的解决方案。有相关的SO帖子,对于这个问题,当它出现在 基础图形 或 ggplot但我还没有找到关于网格图形问题的帖子。