r语言 - 从非默认设备复制带有 grid.echo() 的绘图



我想将绘图从 svg 设备复制到网格对象。grid.echo()文档说它与当前设备相呼应,但使用网格图形绘制。

但是,以下方法不起作用:

svg()
plot(1:10)
print(dev.cur())
grid.echo()
a = grid.grab()
dev.off()
print(dev.cur())
grid.draw(a)

上面的打印输出是:

svg 
2 
null device 
1 
Warning message:
In grid.echo.recordedplot(recordPlot(), newpage, prefix, device) :
No graphics to replay

如您所见,当前设备是调用grid.echo()之前的 svg 设备,但它仍然没有找到任何要回显的内容。 因此,由 'grid.grab() 返回的a为空。我已经在pdf设备上尝试了同样的事情,但没有成功。

我做错了什么?

这是您的预期行为吗?

library(gridGraphics)
svg()
plotfun <- function() plot(1:10)
print(dev.cur())
grid.echo(plotfun)
a = grid.grab()
dev.off()
print(dev.cur())
grid.draw(a)

相关内容

  • 没有找到相关文章

最新更新