在R中,如果我已经在屏幕上创建了一个情节,有没有办法将它写入文件,而无需再次重新运行绘图代码?
质量是否与直接绘制文件相同? (例如,当保存为pdf时,可以获得可复制的文本和可缩放的图表显示)
谢谢!
答案 0 :(得分:4)
您可以使用图片包中的savePlot
函数或ggplot2包中的图表ggsave
。
根据评论进行修改
savePlot
仅保存来自cairo X11设备的图(在我的系统中,它表示在Windows中有相同名称的类似功能)。
正如Ben Bolker建议人们可以使用recordPlot
和replayPlot
我想人们可以这样做:
plot(1:10)
pl <- recordPlot()
png()
replayPlot(pl)
dev.off()
关于质量:
对于savePlot
,您的质量可能会更差,请参阅详细信息?savePlot。另外savePlot不保存pdf文件。
对于recordPlot
/ replayPlot
,它将完全相同,因为重新创建了要存储的图,您可以更改pdf
/ {{1}的所有参数您正在使用的/ png
功能。
答案 1 :(得分:4)
是的,请使用dev2bitmap
plot(1:10)
dev2bitmap("test.png")
编辑:请注意,您需要安装GhostScript。上面的代码在我的机器(OSX 10.9.2)上运行正常,0修补,我很确定我自己从未安装过GS ......但它可能已经安装了更大的包等,所以YMMV。