使用R将图形导出到.eps文件


107

如何将图形导出到.eps格式文件?我通常将图形导出到.pdf文件(使用“ pdf”功能),并且效果很好。但是,现在我必须导出到.eps文件。


您可以尝试通过键入在R中搜索??eps。您将获得postscript页面或至少获得页面ps.options(这将导致您进入postscript)。
RomanLuštrik2011年

另请参见pdf2ps将pdf文件转换为ps。外壳用法:$ pdf2ps plot.pdf将创建plot.ps
Paul Rougieux

Answers:


128

我发现使用setEPS()命令创建后记的最简单方法是:

setEPS()
postscript("whatever.eps")
plot(rnorm(100), main="Hey Some Data")
dev.off()

3
令人惊讶的是,它是如此有用,并且隐藏了一个功能。
CompEcon

是的,为我节省了很多屏幕截图:)
chepukha

非常感谢,我得在* .eps中得到图表。
lbenitesanchez 2015年

50

如果您ggplot2用于生成图形,则a ggsave(file="name.eps")也将起作用。


啊,这就是我所需要的!您可以像这样修改大小:ggsave("name.eps", width = 20, height = 20, units = "cm")
DirtStats '16

31

postscript()设备允许创建EPS,但前提是您更改了一些默认值。?postscript详细阅读。

这是一个例子:

postscript("foo.eps", horizontal = FALSE, onefile = FALSE, paper = "special")
plot(1:10)
dev.off()

谢谢。我正在尝试使用它,但是有一个错误:图形边距太大...
the_drug 2011年

6
例如,使图尺寸更大postscript("foo.eps", horizontal = FALSE, onefile = FALSE, paper = "special", height = 10, width = 10)。单位为英寸。问题是您要绘制到的设备不够大,无法容纳您正在使用的绘制区域的边距。
加文·辛普森

1
我需要导出的* .eps才能在Microsoft Powerpoint中工作,最初不是这种情况。经过一番尝试和错误后,我注意到我必须另外设置colormodel="rgb"postscript()的参数。
agoldev '16

14

另一种方法是使用基于Cairographics的SVG,PDF和PostScript图形设备。这样您就不需要setEPS()

cairo_ps("image.eps")
plot(1, 10)
dev.off()

这是一个有用的建议。cairo_ps区别postscript在于它支持更多的Unicode字形,但缺点是半透明性处理不善,通常会触发位图而不是矢量输出。
ms609

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.