如何在R中保存绘图图像?

时间:2013-07-04 19:03:18

标签: r plot save

我用非常大的矢量(大小为10 ^ 7)创建了一个图。将绘图保存为pdf文件的常用方法的问题是pdf文件是一个大约10MB的非常大的文件。对于简单的时间序列图,我不想要这么大的尺寸。如何保存图表,使其尺寸足够小,最多可达100千字节?

2 个答案:

答案 0 :(得分:19)

baptiste是在正确的轨道上,他们建议使用png来获得一个漂亮的栅格类型的情节。与Jdbaba关于复制开放设备的建议相反,我建议您直接拨打png()设备。这将节省大量时间,因为您不必首先在单独的设备窗口中加载绘图,如果数据集很大,则可能需要很长时间才能加载。

实施例

#plotting of 1e+06 points
x <- rnorm(1000000)
y <- rnorm(1000000)
png("myplot.png", width=4, height=4, units="in", res=300)
par(mar=c(4,4,1,1))
plot(x,y,col=rgb(0,0,0,0.03), pch=".", cex=2)
dev.off() #only 129kb in size

enter image description here

请参阅?png了解png设备的其他设置。

答案 1 :(得分:5)

如果要绘制png文件,请使用以下命令:

dev.copy(png,"myfile.png",width=8,height=6,units="in",res=100)
dev.off()

如果要输出高质量的图表,可以将res值更改为更高的值。

如果要将文件另存为pdf,请使用以下命令:

pdf("myfile.pdf",width=8,height=6)
dev.off()

请记住根据需要更改宽度和高度值。