2011-11-17 34 views
9

我用地塊具有良好的分辨率打印和屏幕顯示

dev.new(width=5.8, height=3) 
par(mfrow=c(1,3),mar=c(1,1,2,1),oma=c(4,1,2,0),mgp=c(3, 0.5, 0)) 
plot(...) 

和應對並粘貼到Microsoft Word使我的陰謀。他們在Word中看起來非常好(我嘗試了不同的寬度,直到我找到一個工作良好的),但是當我印刷它們時,它們看起來很糟糕。經過一些網絡搜索後,我發現打印的分辨率應該至少爲300ppi。因此,與寬度和高度爲一個永恆的擺弄後,我想出了代碼,使該地塊看上去大小相同,但具有更好的分辨率:打印時

png(file="mag_feb.png",width=1800,height=950,res=300) 

他們現在看起來不錯,但他們看起來不清晰完全在Word中(在屏幕上)。這可能是一個大小問題?沒有辦法讓圖形在屏幕上看起來不錯嗎?我已經花了數小時的時間,不能想到其他任何事情,所以任何幫助將非常感謝!

謝謝!

+4

不確定關於R具體,但我的首選格式導出圖將作爲矢量,而不是光柵圖像。 PDF和EPS通常都是很好的格式,如果支持它,SVG也是如此。 – Flexo

+1

您可以將Word文件導出爲PDF以供屏幕閱讀。這是否會導致文檔中的醜陋圖像? –

+0

是的,他們看起來是一樣的單詞和PDF – sbg

回答

16

你原來的png命令有個小錯誤。試試這個:

png(file="mag_feb.png", units="in", width=11, height=8.5, res=300) 

現在,寬度和高度以英寸爲單位,res是以像素/英寸爲單位。之前,res參數被忽略。

4

對於要打印的圖,您應該使用矢量格式,如PDF。如果圖像在打印時看起來不錯,但不是在Word中,那麼Word的縮小功能就是一個問題。您可能想嘗試使用向量Windows圖元文件格式將內容存入Word中。

+0

感謝您的回答!我最初使用的是「複製爲圖元文件」,但是我在這個word文檔中有很多圖形,它只是減慢了字的大小,直到它在滾動時凍結位。 win.metafile或PDF會發生同樣的情況嗎?另外,我怎樣才能將圖像從PDF轉換爲單詞?如果我使用「相機」底部的情節仍然不太好... – sbg

+2

'win.metafile()'會給你同樣的問題。您的最終問題是Word不是爲高質量圖像的佈局而設計的。如果可能的話,最好從Word文檔中刪除圖像並單獨打印。或者使用更適合的發佈軟件(LaTeX或Adobe InDesign)。 –

+2

如果您的工作不需要您使用Word,我肯定會切換到Latex。如果你可以使用R,你肯定可以使用Latex。 –

3

作爲@awoodland筆記,您想要以矢量格式導出圖形。

win.metafile(file="mag_feb.png") # or pdf(), svg(), etc. 
par(mfrow=c(1,3),mar=c(1,1,2,1),oma=c(4,1,2,0),mgp=c(3, 0.5, 0)) 
plot(...) 
dev.off() 
+0

感謝您的回答!我最初使用的是「複製爲圖元文件」,但是我在這個word文檔中有很多圖形,它只是減慢了字的大小,直到它在滾動時凍結位。 win.metafile或PDF會發生同樣的情況嗎?另外,我怎樣才能將圖像從PDF轉換爲單詞?如果我使用「相機」底部的情節仍然不好看... – sbg

+0

我認爲Word支持WMF最好?所以你可以使用插入菜單或類似的東西將它導入到單詞中? –

0

我希望這不是一個遲到的答覆,但我的工作流程,以節省最優的圖像從內部R爲以下幾點:

1)從圖形設備直接拷貝圖到PDF文件,使用「開發。 copy2pdf「:

dev.copy2pdf("image.pdf", width=8.5, height=11) 

2)使用的ImageMagick到PDF轉換成高清晰度的PNG,使用該命令:

convert -density 600 image.pdf image.png 

3)可選 - 還與ImageMagick的,除去所有的白色邊框,只留下重要的內容:

convert image.png -trim image_trimmed.png 

希望它有幫助。