将 R 图表 "as metafile" 复制到 Word 并将其导出为 PDF 后出现奇怪的线条

Weird lines appear in R graph after copying it "as metafile" to Word and exporting it as PDF

我提交研究论文的期刊要求文章以 PDF 格式提交。我将 R 用于统计数据和图表。

我使用基本公式来打印图表。条形图的 barplot(),箱形图的 boxplot() 和 VennDiagram 包中的 draw.triple.venn。我没有对设备或图形参数使用特殊命令或公式。

我在 R 中打印图表,然后复制它们 "as metafile" 以生成高质量图表。

当我在 R 中附加这些图表时,它们看起来很好。但是,当我在 Word 中将我的作品打印为 PDF 时,这些线条出现在图表中。

第一个图表的示例:

venn.plot <- draw.triple.venn(45, 34, 32,
14, 5, 11, 3, c(sprintf("Elevated\nWB Cr and Co"), sprintf("Mixed       or\nsolid PT"), sprintf("Moderate to severe\ng.minimus atrophy")),
lwd = 4,
lty = 'solid',
cex = 3.5,
fontface = "bold",
fontfamily = "sans",
cat.cex = 1.8,
cat.fontface = "bold",
cat.default.pos = "outer",
cat.pos = c(-20, 20, 180),
cat.dist = c(0.115, 0.115, 0.095),
cat.fontfamily = "sans",
rotation = 1
);

第二个示例: boxplot(df$Crmri~df$gmed2,log="y",yaxt="n",ylim=c(0.3,200)); axis(2,at=c(0,1,2,10,20,100),labels=c("0 ppb","1 ppb","2 ppb","10 ppb","20 ppb","100 ppb"),las=2);

我在 Word 文件中有几个条形图,保存为 PDF 后这些图表就很好了。

起初我试图将这些图表保存为 R 中的图元文件,然后将它们添加到 Word,但线条仍然出现。如果我在任何其他查看器中打开我的 EMF 文件,这些行将不存在。

有什么想法吗?谢谢!

之前在 r-help 上讨论​​过这个问题。参见:

https://stat.ethz.ch/pipermail/r-help/2011-September/289705.html

似乎是因为当您使用 "Save As" 然后选择 PDF 时 Word 将文档转换为 PDF 的方式。

如果您有 Acrobat(不仅仅是 reader),通过 Adob​​e PDF "printer" 打印文档应该可以消除线条。否则,您可能不得不考虑切换到另一种图形格式(例如 png)。

CRAN 上刚刚推出了一个新软件包 export,它允许您以本机 Office 格式将图形导出到 Powerpoint 或 Word。从那里您可以在 Office 中毫无问题地另存为 PDF,不会出现任何奇怪的线条,请参阅 https://cran.r-project.org/web/packages/export/index.htmlhttps://github.com/tomwenseleers/export

例如

install.packages("export")
library(export)
boxplot(count ~ spray, data = InsectSprays, las = 2)
graph2doc(file="plot.docx", width=7, height=5)
graph2ppt(file="plot.pptx", width=7, height=5)

即使在 Powerpoint 中保存为 PDF 后,这也会为您提供质量完美的矢量格式 PDF,没有任何奇怪的线条:

其他优点是您获得的 Powerpoint 版本是完全可编辑的矢量格式,使您能够对布局进行任何必要的小更改(它还完全支持透明度/alpha 通道)。

我可以确认此问题仍然存在于 Office 365 的 Word 和 Office 2016 的 Word 中。从 R-Studio 复制为图元文件会在您转换为 PDF 时导致绘图中出现线条(使用 Word 的另存为 PDF 功能).从 R-Studio 复制为位图或导出为图像不会产生线条,但不幸的是,Word 和 PDF 中的图像质量不如图元文件清晰。描述通过Adobe PDF打印机打印文档的响应确实避免了线条,但我发现这种方法丢失了Word文档文本中的动态链接(例如Table of Contents链接)。我有 Adob​​e Acrobat Pro XI。所以那个解决方案对我不起作用。最后,我能找到的最佳解决方案似乎是复制为位图。不幸的是图像质量不是很好。