2011-11-17 36 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 

希望它有帮助。