使用 R 将图形导出到 .eps 文件
Posted
技术标签:
【中文标题】使用 R 将图形导出到 .eps 文件【英文标题】:Export a graph to .eps file with R 【发布时间】:2011-07-05 19:08:22 【问题描述】:如何将图形导出为 .eps 格式的文件?我通常将我的图表导出到一个 .pdf 文件(使用“pdf”函数),它工作得很好。但是,现在我必须导出为 .eps 文件。
【问题讨论】:
您可以尝试在 R 中输入??eps
进行搜索。您将获得postscript
页面或至少ps.options
(这将引导您访问postscript
)。
另见pdf2ps将pdf文件转换为ps。 Shell 用法:$ pdf2ps plot.pdf
,将创建plot.ps
。
【参考方案1】:
我发现创建后记的最简单方法如下,使用setEPS()
命令:
setEPS()
postscript("whatever.eps")
plot(rnorm(100), main="Hey Some Data")
dev.off()
【讨论】:
令人惊讶的是它的实用性,以及它的隐藏程度。 是的,为我节省了很多截图 :) 非常感谢,我得到了 * .eps 格式的图表。【参考方案2】:另一种方法是使用基于 Cairographics 的 SVG、PDF 和 PostScript 图形设备。
这样你就不需要setEPS()
cairo_ps("image.eps")
plot(1, 10)
dev.off()
【讨论】:
这是一个有用的建议。cairo_ps
与 postscript
的不同之处在于它支持更多的 unicode 字形,但缺点是半透明处理不好,并且经常会触发位图而不是矢量输出。【参考方案3】:
如果您使用ggplot2
生成图形,那么ggsave(file="name.eps")
也可以。
【讨论】:
啊,这正是我需要的!你可以像这样修改大小:ggsave("name.eps", width = 20, height = 20, units = "cm")
【参考方案4】:
postscript()
设备允许创建 EPS,但仅在您更改某些默认值的情况下。阅读?postscript
了解详情。
这是一个例子:
postscript("foo.eps", horizontal = FALSE, onefile = FALSE, paper = "special")
plot(1:10)
dev.off()
【讨论】:
谢谢。我正在尝试使用它,但出现错误:图形边距太大... 增大绘图尺寸:例如postscript("foo.eps", horizontal = FALSE, onefile = FALSE, paper = "special", height = 10, width = 10)
。单位为英寸。问题是您要绘制的设备不够大,无法包含您正在使用的绘图区域的边距。
我需要导出的 *.eps 才能在 Microsoft Powerpoint 中工作,但最初并非如此。经过反复试验,我注意到我必须另外设置 postscript() 的参数 colormodel="rgb"
。【参考方案5】:
是的,打开一个文件名以.eps
结尾的postscript()
设备,进行绘图并调用dev.off()
。
【讨论】:
以上是关于使用 R 将图形导出到 .eps 文件的主要内容,如果未能解决你的问题,请参考以下文章