如何将EPS图形中的文本转换为R中的矢量轮廓?
我正在准备一篇论文提交给一家杂志,该杂志要求以EPS格式提交矢量图形,图形中的所有文本都转换为大纲。将文本转换为矢量轮廓有助于避免最终布局中的字体问题。日志要求可用 可以使用如何将EPS图形中的文本转换为R中的矢量轮廓?,r,R,我正在准备一篇论文提交给一家杂志,该杂志要求以EPS格式提交矢量图形,图形中的所有文本都转换为大纲。将文本转换为矢量轮廓有助于避免最终布局中的字体问题。日志要求可用 可以使用ggplot2在R中轻松创建EPS图形: library(ggplot2) ggsave(filename = "file.eps") 或者使用setEPS()和postscript设备,如前所述: 我的问题是:如何将图形中的文本转换为矢量轮廓?我已经在其他软件(例如Illustrator或InDesign)中找到了关于如
ggplot2
在R中轻松创建EPS图形:
library(ggplot2)
ggsave(filename = "file.eps")
或者使用setEPS()
和postscript
设备,如前所述:
我的问题是:如何将图形中的文本转换为矢量轮廓?我已经在其他软件(例如Illustrator或InDesign)中找到了关于如何实现这一点的信息,但我想知道是否有一种方法可以直接在R中实现。安装
ghostscript
,如果您在linux下,或者(还有一个),对于mac,您可能可以。然后从R中调用gs
或gs.exe
库(ggplot2)
数据(钻石)
谢谢,这些命令很有效。但是我认为您输入了一个错误:选项应该是-sDEVICE=epswrite
而不是-sDEVICE=eps2write
。我还添加了-dEPSCrop
,以避免裁剪图像。为了检查它是否有效,我安装了pdffonts
(Xpdf的一部分),使用epstopdf
将两个EPS文件转换为PDF,然后在PDF上运行pdffonts
,检查嵌入的字体。这实际上表明两个EPS文件都没有任何嵌入式字体,因此ggsave
可能已经将字体转换为原始EPS中的轮廓。有人能证实吗?我搜索了ggplot2
文档,但找不到任何信息。您可以使用gs-h
在ghostscript中列出可用的驱动程序。在我的计算机上,eps2write
存在,而epswrite
不存在,但这可能与其他鬼脚本版本有所不同
setEPS()
postscript("filename.eps")
plot(1:10)
dev.off()
library(ggplot2)
data(diamonds)
gs.cmd <- "gs" # ghostscript executable
# gs.cmd <- "C:/path/to/gs.exe" # Windows
p <- qplot(x=carat, y=price, color=clarity, data=diamonds)
ggsave(p, filename="test.eps")
system(paste(gs.cmd,"-o test_outline.eps -dNoOutputFonts -sDEVICE=eps2write test.eps"))