我在从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()
奇怪的是,如果我使用File
生成情节 - &gt; Save As
- &gt;从GUI菜单中Postscript
,可以正确导入。但是,当Word文档随后导出为pdf时,图形中的字体会有点锯齿状。
所以我的问题是:
ggsave
/ postscript
)设置的哪些组合允许我生成可导入Word 2010的eps文件?更新
经过更多的调查,我有更多的运气与cairo_ps
来制作情节。但是,导入Word时不会显示任何文本。
此外,在检查乳胶文档中的各种eps输出(cairo_ps
,从GUI中保存ggsave
)之后,Word中的eps导入过滤器似乎很难打印/ pdf输出与乳胶文件的质量不匹配。 ggsave
版本(使用postscript
)确实存在颜色问题,但其他两种方法都没有。
结论是这是一个Word问题,因此fortune(109)
不适用。我很乐意以其他方式得到证明,但我会将答案和赏金奖励给能够提供命令的人,这些命令可以在命令格式中复制GUI的输出。
答案 0 :(得分: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它起作用了。命令是Insert / Picture ... / select eps format / select file。
Edit2:除了直接使用postscript设备之外,还有另一种保存方法。具有"eps"
模式的savePlot方法在Windows中可用(但在Mac中不可用)。我同意这些字体不像Mac上显示的那样平滑,但我可以看出使用savePlot保存和使用另存为交互式窗口时的质量没有区别。
savePlot(filename = "Rplot2", type = "eps", device = dev.cur(), restoreConsole = TRUE)
savePlot
来电(.External(CsavePlot, device, filename, type, restoreConsole))
答案 1 :(得分:4)
我解决了从R导出.eps文件并使用colormodel="rgb"
命令的"srgb"
选项(默认为postscript
)导入到Windows 7上的Word 2010的问题。
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()
答案 2 :(得分:1)
您最好使用wmf
作为可在Windows上创建的格式。
答案 3 :(得分:1)
Word确实不能很好地支持EPS。 更好的解决方案是直接以原生Office格式将图形导出到Word或Powerpoint。我刚刚创建了一个新的包,导出,确实如此,请参阅 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对象的统计输出。
答案 4 :(得分:0)
您可以使用R studio编辑包含所有绘图的html文件,然后使用Word打开HTML文件。