[英]Copy plot with grid.echo() from non-default device
我想將繪圖從 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 設備,但它仍然沒有找到任何可以回顯的內容。 a
由`grid.grab()返回因此空。 我用 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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.