2014-12-19 50 views
0

我有兩個圖表,我在R中繪製出圖,並且想將其導出爲高分辨率圖片進行發佈。在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中繪製的圖形不一定看起來像我輸出的圖形。因此,我想知道在繪製圖形之前是否有方法來指定圖形的尺寸和分辨率,以便在導出圖形之前可以直觀地檢查圖形?

謝謝

+4

jpeg通常是繪圖輸出格式的最差可能選擇。 PNG,TIFF或矢量格式,例如pdf,svg或eps可能更適合。 – baptiste

+1

對於印刷出版物,我會使用300dpi的分辨率,而不是200dpi。另外,正如@baptiste所說,jpeg是一個糟糕的選擇。 pdf是最好的,或者如果是光柵,tiff。 – Phil

回答

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都有height,widthres參數,您可以使用它們來指定輸出的尺寸和分辨率。另外,我不會推薦使用dev.copy。正如你所看到的,輸出的結果並不總是你所期望的。

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()