And*_*rie 369
有两个密切相关的问题,每个问题都有答案.
要保存绘图,您需要执行以下操作:
png(),bmp(),pdf()或类似dev.off()用于将绘图保存到png文件的一些示例代码:
fit <- lm(some ~ model)
png(filename="your/file/location/name.png")
plot(fit)
dev.off()
Run Code Online (Sandbox Code Playgroud)
这是在(组合的)帮助页面的图形格式描述的?png,?bmp,?jpeg和?tiff,以及在单独的帮助页面?pdf.
但请注意,磁盘上的图像可能与直接绘制到屏幕上的相同图表看起来不同,例如,如果您已调整屏幕窗口的大小.
请注意,如果您的绘图由任一个绘制,lattice或者ggplot2您必须明确打印绘图.请参阅此答案,更详细地解释了这一点,并链接到R FAQ:ggplot的qplot不执行采购
dev.print(pdf, 'filename.pdf')
Run Code Online (Sandbox Code Playgroud)
这应该完美地复制图像,尊重您对交互式窗口所做的任何调整.您可以像在本答案的第一部分中那样替换pdf其他文件类型,例如png.
Ita*_*mar 80
如果你想继续看R中的情节,另一种选择是使用dev.copy:
X11 ()
plot (x,y)
dev.copy(jpeg,filename="plot.jpg");
dev.off ();
Run Code Online (Sandbox Code Playgroud)
如果在R中出现太多的绘图窗口,请使用graphics.off()关闭所有绘图窗口.
Pau*_*tra 67
如果使用ggplot2首选的保存方式就是使用ggsave.首先你需要绘制,在创建你打电话的情节后ggsave:
ggplot(...)
ggsave("plot.png")
Run Code Online (Sandbox Code Playgroud)
图像的格式由您为文件名选择的扩展名决定.其他参数可以传递到ggsave,特别是width,height和dpi.
Owe*_*wen 29
像这样
png('filename.png')
# make plot
dev.off()
Run Code Online (Sandbox Code Playgroud)
或这个
# sometimes plots do better in vector graphics
svg('filename.svg')
# make plot
dev.off()
Run Code Online (Sandbox Code Playgroud)
或这个
pdf('filename.pdf')
# make plot
dev.off()
Run Code Online (Sandbox Code Playgroud)
也许还有其他人.它们都在帮助页面中列出.
Aar*_*aid 11
对于第一个问题,我发现dev.print在交互式工作时最好.首先,您可以直观地设置绘图,当您对所看到的内容感到满意时,可以要求R将当前绘图保存到磁盘
dev.print(pdf, file="filename.pdf");
Run Code Online (Sandbox Code Playgroud)
您可以pdf使用其他格式替换png.
这将完全按照您在屏幕上看到的方式复制图像.问题dev.copy在于图像通常是不同的,并且不记得窗口大小和宽高比 - 它默认强制绘图为方形.
对于第二个问题,(正如其他人已经回答的那样),您必须在执行绘图命令之前将输出定向到磁盘
pdf('filename.pdf')
plot( yourdata )
points (some_more_data)
dev.off() # to complete the writing process and return output to your monitor
Run Code Online (Sandbox Code Playgroud)
小智 8
如果您使用R Studio http://rstudio.org/,则会有一个特殊菜单可以保存您喜欢的任何格式以及您选择的任何分辨率