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

the*_*rug 101 r graph eps

如何将图形导出为.eps格式文件?我通常将我的图形导出到.pdf文件(使用'pdf'函数),它运行得很好.但是,现在我必须导出到.eps文件.

Com*_*con 116

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

setEPS()
postscript("whatever.eps")
plot(rnorm(100), main="Hey Some Data")
dev.off()
Run Code Online (Sandbox Code Playgroud)

  • 令人惊讶的是它有多么有用,以及它是如何隐藏它的功能. (3认同)

Mai*_*ura 45

如果您正在使用ggplot2生成图形,那么a ggsave(file="name.eps")也将起作用.

  • 啊,这正是我需要的!你可以像这样修改大小:`ggsave("name.eps", width = 20, height = 20, units = "cm")` (5认同)

Rei*_*son 30

postscript()设备允许创建EPS,但当您更改某些默认值时.阅读?postscript详细信息.

这是一个例子:

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

  • 使绘图尺寸更大:`postscript("foo.eps",horizo​​ntal = FALSE,onefile = FALSE,paper ="special",height = 10,width = 10)`例如.单位是英寸.问题是您绘制的设备不够大,无法包含您正在使用的绘图区域的边距. (6认同)

USE*_*R_1 14

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

cairo_ps("image.eps")
plot(1, 10)
dev.off()
Run Code Online (Sandbox Code Playgroud)

  • 这是一个有用的建议。`cairo_ps` 与 `postscript` 的不同之处在于它支持更多的 unicode 字形,但缺点是半透明处理不好,并且经常会触发位图而不是矢量输出。 (2认同)

Dir*_*tel 5

是的,打开postscript()文件名以 结尾的设备.eps,执行绘图并调用dev.off().