具有良好分辨率的图形用于打印和屏幕显示

时间:2011-11-17 12:15:43

标签: r plot resolution

我正在使用

制作我的情节
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 个答案:

答案 0 :(得分:17)

原始png命令中存在一个小错误。试试这个:

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

现在,宽度和高度以英寸为单位,res以像素/英寸为单位。之前,res参数被忽略。

答案 1 :(得分:4)

您应该使用矢量格式(如PDF)来绘制要打印的图形。如果图像在打印时看起来不错,但在Word中看不到,那么Word的缩小功能会出现问题。您可能想尝试使用矢量Windows图元文件格式将内容输入Word。

答案 2 :(得分: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()

答案 3 :(得分:1)

我希望这不是迟到的回复,但我在R中保存最佳图片的工作流程如下:

1)使用“dev.copy2pdf”将图形直接从图形设备复制到pdf文件:

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

希望它有所帮助。