如何将绘图保存为磁盘上的图像?
我使用R绘制了一个简单的线性回归。我想将该图像保存为PNG或JPEG,是否可以自动执行此操作? (通过代码)
有两个不同的问题:首先,我已经在看我的显示器上的情节,我想保存它。 其次,我还没有生成剧情,但是当我执行我的绘图代码时,我想直接将它保存到磁盘。
有两个密切相关的问题,每个问题都有答案。
1.我的脚本将来会生成一个图像,我该如何将它保存到磁盘上?
要保存情节,您需要执行以下操作:
png()
, bmp()
, pdf()
或类似方法打开设备 dev.off()
关闭设备 一些用于将绘图保存为png
文件的示例代码:
fit <- lm(some ~ model)
png(filename="your/file/location/name.png")
plot(fit)
dev.off()
这在图形格式的(组合)帮助页面中进行了描述?png
, ?bmp
, ?jpeg
和?tiff
以及单独的?pdf
帮助页面。
但请注意,图像可能在磁盘上看起来与直接绘制到屏幕上的相同绘图不同,例如,如果您已调整屏幕上的窗口大小。
请注意,如果您的绘图是由lattice
或ggplot2
,则必须明确地打印该绘图。 看到这个答案,更详细地解释了这一点,并链接到R常见问题:ggplot的qplot不执行采购
2.我正在查看屏幕上的情节,我想将它'按原样'复制到磁盘上。
dev.print(pdf, 'filename.pdf')
这应该完美地复制图像,尊重您对交互式窗口进行的任何调整。 您可以像在此答案的第一部分中一样,用其他文件类型(例如png
替换pdf
。
如果你想继续看R中的情节,另一个选择是使用dev.copy
:
X11 ()
plot (x,y)
dev.copy(jpeg,filename="plot.jpg");
dev.off ();
如果你在R中遇到了太多的绘图窗口,可以使用graphics.off()
来关闭所有的绘图窗口。
如果你使用ggplot2
,保存的首选方式是使用ggsave
。 首先你必须在创建图表后调用ggsave
:
ggplot(...)
ggsave("plot.png")
图像的格式取决于您为文件名选择的扩展名。 其他参数可以传递给ggsave
,特别是width
, height
和dpi
。
上一篇: How to save a plot as image on the disk?
下一篇: Plot a legend outside of the plotting area in base graphics?