我用R画了一个简单的线性回归。 我想将该图像保存为PNG或JPEG,是否可以自动进行?(通过代码)
有两个不同的问题:首先,我已经在我的显示器上查看了情节,我想按原样保存它。其次,我还没有生成绘图,但我想在执行绘图代码时直接将其保存到磁盘。
我用R画了一个简单的线性回归。 我想将该图像保存为PNG或JPEG,是否可以自动进行?(通过代码)
有两个不同的问题:首先,我已经在我的显示器上查看了情节,我想按原样保存它。其次,我还没有生成绘图,但我想在执行绘图代码时直接将其保存到磁盘。
当前回答
如果你使用R Studio http://rstudio.org/,有一个特殊的菜单,可以将你的图保存为你喜欢的任何格式和你选择的任何分辨率
其他回答
plotpath<- file.path(path, "PLOT_name",paste("plot_",file,".png",sep=""))
png(filename=plotpath)
plot(x,y, main= file)
dev.off()
如果使用ggplot2,首选的保存方式是使用ggsave。首先,你必须创建一个plot,在创建plot后调用ggsave:
ggplot(...)
ggsave("plot.png")
图像的格式由您为文件名选择的扩展名决定。可以将其他参数传递给ggsave,特别是宽度、高度和dpi。
dev.copy(png,'path/pngFile.png')
plot(YData ~ XData, data = mydata)
dev.off()
如果你想在R中继续看到图,另一个选择是使用dev.copy:
X11 ()
plot (x,y)
dev.copy(jpeg,filename="plot.jpg");
dev.off ();
如果你在R中遇到太多的绘图窗口,使用graphics.off()关闭所有的绘图窗口。
为了补充这些答案,如果您有一个R脚本,其中包含为屏幕(本机设备)生成图形的调用,那么这些都可以保存到pdf文件(非交互式shell的默认设备)中。“Rplots.pdf”(默认名称)通过将脚本从终端重定向到R(假设您运行的是linux或OS X),例如:
R < myscript.R --no-save
这可以根据需要转换为jpg/png