在R中导出图形

时间:2014-12-19 14:03:10

标签: r graph

我有两张我在R中绘制的图表,我想将其导出为高分辨率图片以供发布。

例如:

 a<-c(1,2,3,4,5,6,7)
 b<-c(2,3,4,6,7,8,9)
 par(mfrow=c(2,1))
 plot (a,b)
 plot(a,b)

我通常会通过以下方式导出此图表:

 dev.copy(jpeg,'test.jpeg',width=80,height=150,units="mm",res=200)
 dev.off()

然而,我总觉得这个过程有点麻烦。在R中绘制的图形不一定看起来像我导出的图形。因此,我想知道在绘制图形之前是否有方法指定图形的尺寸和分辨率,以便在导出图形之前可以直观地检查图形?

谢谢

2 个答案:

答案 0 :(得分:1)

您可以尝试:

png('out.png')

a<-c(1,2,3,4,5,6,7)
b<-c(2,3,4,6,7,8,9)
par(mfrow=c(2,1))
plot (a,b)
plot(a,b)
dev.off()

正如baptiste所说,jpeg是你可以选择的最差格式。您应该查看bmppng函数的帮助(?bmp?png)。 bmppng都有heightwidthres个参数,可用于指定输出的维度和分辨率。另外,我不建议使用dev.copy。正如您所看到的,输出的结果并不总是您所期望的。

答案 1 :(得分:0)

要添加Bonifacio2的答案,如果您先调用该函数制作绘图,您还可以在进行任何实际绘图之前定义边距和窗口大小等。这样你就可以完全控制所有的无花果规格。

pdf(file='test.jpeg',width=80,height=150,units="mm")  #I prefer pdf, because they are editable files
a<-c(1,2,3,4,5,6,7)
b<-c(2,3,4,6,7,8,9)
par(mfrow=c(2,1))
plot (a,b)
plot(a,b)
dev.off()