6

我在从 R 导出 eps 文件并导入 Word 2010 时遇到问题。

我正在使用ggplot2情节,例如

library(ggplot2)
p <- qplot(disp,hp,data=mtcars) + stat_smooth()
p

即使调用setEPS()了以下任何一个都不能成功导入的生产文件。

ggsave("plot.eps")

postscript("plot.eps")
print(p)
dev.off()

奇怪的是,如果我从 GUI 的菜单中使用File-> Save As->生成绘图Postscript,它可以正确导入。但是,当 Word 文档随后导出为 pdf 时,图形中的字体有点锯齿状。

所以我的问题是:

  • ( ggsave/ postscript) 设置的哪些组合允许我生成可以导入 Word 2010 的 eps 文件?
  • 当 Word 文档导出为 pdf 时,如何确保字体保持清晰?

更新

经过更多的调查,我有更多的运气cairo_ps来制作这些情节。但是,导入 Word 时不会显示任何文本。

此外,在检查乳胶文档中的各种 eps 输出(cairo_ps从 GUI 保存ggsave)后,Word 中的 eps 导入过滤器似乎很差,因为打印/pdf 输出与乳胶文档的质量不匹配. 该ggsave版本(使用postscript)确实存在其他两种方法所没有的颜色问题。

结论是这是一个 Word 问题,因此fortune(109)不适用。我很乐意被证明不是这样,但我会将答案和赏金奖励给任何能够提供可以以命令形式复制 GUI 输出的命令的人。

4

5 回答 5

4

这对我有用......在postscript帮助页面中遵循建议:

 postscript("RPlot.eps", height = 4, width = 4, horizontal = FALSE, onefile = FALSE,
             paper = "special")
 library(ggplot2)
 p <- qplot(disp,hp,data=mtcars) + stat_smooth()
 p
#geom_smooth: method="auto" and size of largest group is <1000, so using loess. Use 'method = x' to #change the smoothing method.
#Warning message:
#In grid.Call.graphics(L_polygon, x$x, x$y, index) :
#  semi-transparency is not supported on this device: reported only once per page
 dev.off()
#quartz 
#     2 

最后有趣的东西让你注意到这只是一个经过 Mac 测试的解决方案,无论如何。

编辑:我刚刚使用 R 版本 2.15.1 (2012-06-22) 对其进行了测试——“烤棉花糖”:平台:i386-pc-mingw32/i386(32 位)和 Win XP 中的 MS Word 2007 并且它有效. 命令是插入/图片.../选择 eps 格式/选择文件。

Edit2:除了直接使用 postscript 设备之外,还有另一种保存方法。带有"eps"模式的 savePlot 方法在 Windows 中可用(但在 Mac 中不可用)。我同意这些字体不像在 Mac 上显示的那样流畅,但我可以看出使用 savePlot 保存和从交互式窗口使用 save as 在质量上没有区别。

savePlot(filename = "Rplot2", type = "eps", device = dev.cur(), restoreConsole = TRUE)

savePlot来电(.External(CsavePlot, device, filename, type, restoreConsole))

于 2012-10-06T00:29:02.117 回答
4

我解决了从 R 导出 .eps 文件并使用命令的colormodel="rgb"选项(默认为"srgb")在 Windows 7 上导入 Word 2010 的问题postscript

postscript("RPlot.eps", height = 4, width = 4, horizontal = FALSE, 
         paper = "special", colormodel = "rgb")
library(ggplot2)
p <- qplot(disp,hp,data=mtcars) + stat_smooth(se=FALSE, method="loess")
p
dev.off()
于 2013-01-23T08:30:49.753 回答
1

您可能最好将wmf其用作可以在 Windows 上创建的格式。

于 2012-10-05T14:12:35.493 回答
1

Word 确实不能很好地支持 EPS。更好的解决方案是将您的图表直接以本机 Office 格式导出到 Word 或 Powerpoint。我刚刚制作了一个新包 export,它就是这样做的,请参阅 https://cran.r-project.org/web/packages/export/index.html和演示 https://github.com/tomwenseleers/export

典型的语法很简单,例如:

install.packages("export")
library(export)
library(ggplot2)
qplot(Sepal.Length, Petal.Length, data = iris, color = Species, 
      size = Petal.Width, alpha = I(0.7))     
graph2doc(file="ggplot2_plot.docx", width=6, height=5)
graph2ppt(file="ggplot2_plot.pptx", width=6, height=5) 

输出是矢量格式,因此在您在 Word 或 Powerpoint 中取消组合图形后完全可编辑。您还可以使用它来导出各种 R stats 对象的统计输出。

于 2015-06-29T07:34:17.613 回答
0

您可以使用 R studio 将包含所有绘图的 html 文件编入其中,然后使用 Word 打开 HTML 文件。

针织教程

于 2012-10-07T19:38:32.140 回答