ggplot2 pdf导入Adobe Illustrator缺少字体AdobePiStd

San*_*der 50 r adobe-illustrator ggplot2

我使用以下命令创建了几个简单的ggplot2图并将它们保存为PDF文件:

p <- ggplot(plotobject, aes(x=Pos, y=Pval),res=300)
ggsave(plot=p,height=6,width=6,dpi=200, filename="~/example.pdf")
Run Code Online (Sandbox Code Playgroud)

如果我现在在Adobe Illustrator中打开此example.pdf,我会收到以下错误:

字体AdobePiStd缺失.受影响的文本将使用替代字体显示.

有没有办法在ggplot2中指定一个字体(我认为这是针对点/点)Adobe会理解或者有没有办法让这个字体在Adobe工作?

/编辑只是为了澄清,文本/标签/标题都很好它的字体/ edit2缺少的点我只是使用ggsave中的EPS输出我有一个工作的解决方案,但仍然希望找到一种方法也可以直接在AI中打开/导入PDF格式的ggplot2图

小智 45

虽然更改AI使用的字体效果很好,但另一种方法是通过在ggsave命令中添加参数'useDingbats'来限制ggplot2首先使用Dingbats,例如:

ggsave(plot=p,height=6,width=6,dpi=200, filename="~/example.pdf", useDingbats=FALSE)
Run Code Online (Sandbox Code Playgroud)

  • 这太棒了!非常感谢,我多年来一直在寻找这个. (3认同)

小智 36

我在Mac OS X 10.8.2上遇到了这个问题.

这解决了我的问题:

font='/Library/Application Support/Adobe/PDFL/10.9/Fonts/AdobePiStd.otf'
cp $font /Library/Fonts/
Run Code Online (Sandbox Code Playgroud)

在您的系统上,找到以下文件find:

find / -name AdobePiStd.otf 2>/dev/null

/Applications/Adobe Photoshop CC 2018/Adobe Photoshop CC 2018.app/Contents/Required/PDFL/Resource/Fonts/AdobePiStd.otf
/Applications/Adobe Illustrator CC 2018/Adobe Illustrator.app/Contents/Required/PDFL Resource/Resource/Fonts/AdobePiStd.otf
/Applications/Adobe Acrobat DC/Adobe Acrobat.app/Contents/Resources/Resource/Font/AdobePiStd.otf
Run Code Online (Sandbox Code Playgroud)

  • 在这个问题的5个(当前)答案中,这是我能够成功实施的唯一答案. (2认同)

Jim*_* M. 10

对于无法在pdf中正确显示的点或点,我只需将Zapf Dingbats替换为Adobe Illustrator中缺少的字体.对于简单的绘图标记,这在大多数时间都可以完成.


Mat*_*agg 9

这似乎是一个不正常的问题,其中Adobe Illustrator找不到与Adobe Reader一起分发的字体(AdobePiStd),因此很可能存在.

如果您搜索计算机,则可能会找到它.在我的WindowsXP系统上,它位于:C:\ Program Files\Adob​​e\Reader 10.0\Resource\Font

找到它之后,您可以在该文件夹中安装它和其他字体,这应该使Illustrator能够找到它们.

对于R中的其他字体/ pdf问题,grDevices包中的embedFonts函数很有用.


小智 8

使用useDingbats=FALSE的PDF输出,则插画不会抱怨.

pdf("example.pdf", useDingbats=FALSE)
ggplot(plotobject, aes(x=Pos, y=Pval),res=300)
dev.off()
Run Code Online (Sandbox Code Playgroud)