2013-05-17 42 views
10

這是這樣的是一個讓我發瘋的基本問題。在R中生成圖形時,它在屏幕上看起來很棒。但是,當我嘗試使用png(),tiff()等將分辨率設置爲300並將寬度和高度設置爲合理的值以適合期刊紙張時,直接將其生成到文件中時,存在兩個問題:在R中創建高分辨率數字

  1. 所有行都超厚
  2. 所有的字母都是巨大的字體。

這真的很煩人,我試過玩分號選項,它有助於縮小字體大小,但是線條寬度仍然很厚很難看。你能否建議R中發生了什麼問題以及我如何解決這個問題?我環顧四周,大多數解決方案都涉及使用其他圖像處理軟件。我想知道爲什麼R在提高分辨率時做到這一點,以及爲什麼它會使數字變得如此醜陋。這裏有一個例子:

png(file="test.png",width=5,height=5,units="cm",res=300) 
plot(rnorm(1000),rnorm(1000),xlab="some text") 
dev.off() 

謝謝!

+0

您是否不允許在您的日記提交中包含PDF? –

+0

數字必須以不超過10MB的單獨文件形式提交。 – FBC

+1

您可以使用'pdf()'爲每個繪圖創建PDF,作爲單獨的文件。 –

回答

9

我認爲這個問題是與默認字體大小(見?png參數pointsize):

這裏就是你有什麼與12的默認:

enter image description here

但是,如果你降低它下降到6:

png(file="test.png",width=5,height=5,units="cm",res=300, pointsize=6) 
plot(rnorm(1000),rnorm(1000),xlab="some text") 
dev.off() 

enter image description here

我的理解是,12的分數意味着cex=1的文本是12/72(i。即1/6)一英寸。你的png是ca. 2英寸,因此您的文字是默認指標的繪圖寬度的1/12。

+1

我試着改變分數,我同意圖像看起來稍微好一點,但看看繪圖角色,他們有粗糙的邊緣,看起來很糟糕,印刷期刊的質量遠不如此,而且這種高分辨率300DPI。 – FBC

+0

如果你看它的正常尺寸(即每5釐米5釐米)的情節,角色看起來不錯。 – plannapus

+0

@FCB在他的'ggplot2'書中,Hadley Wickham建議使用600 dpi的光柵圖形(第8.3章)。這個建議也可能適用於基礎圖形。 – Uwe