ggplot2 pdf import in Adobe Illustrator missing font AdobePiStd

RGgplot2Adobe Illustrator

R Problem Overview


I created several simple ggplot2 plots and saved them to PDF files using the following commands:

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

If I now open this example.pdf in Adobe Illustrator I get the following error:

> The font AdobePiStd is missing. Affected text will be displayed using > a substitute font.

Is there a way in ggplot2 to specify a font (I presume this is for the dots/points) that Adobe will understand or otherwise is there a way to get this font working in Adobe?

/edit just to clarify, the text/labels/titles are all just fine its the dots that are missing for the font /edit2 I got a working solution by just using the EPS output in ggsave, but still would love to find out a way to also be able to just open/import ggplot2 plots in PDF format directly in AI

R Solutions


Solution 1 - R

Although changing the fonts used by AI works well, an alternative is to restrict ggplot2 from using Dingbats in the first place by adding the argument 'useDingbats' to your ggsave command eg:

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

Solution 2 - R

I ran into this problem as well on Mac OS X 10.8.2.

This resolved the issue for me:

font='/Library/Application Support/Adobe/PDFL/10.9/Fonts/AdobePiStd.otf'
cp $font /Library/Fonts/

On your system, find the file with 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

Solution 3 - R

For dots or points that don't' display correctly in a pdf, I just substitute Zapf Dingbats for the missing font in Adobe Illustrator. For simple plot markers, this does the job most of the time.

Solution 4 - R

This seems to be a perverse problem in which Adobe Illustrator cannot find a font (AdobePiStd) that is distributed with Adobe Reader and thus is likely present.

If you search your computer, you are likely to find it. On my WindowsXP system, it was in: C:\Program Files\Adobe\Reader 10.0\Resource\Font

After finding it, you can install it and other fonts in that folder, which should enable Illustrator to find them.

For other font/pdf problems in R, the [embedFonts][1] function in grDevices package is useful.

[1]: http://stat.ethz.ch/R-manual/R-patched/library/grDevices/html/embedFonts.html "embedFonts"

Solution 5 - R

Use useDingbats=FALSE for the pdf output, then Illustrator will no complain.

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

Solution 6 - R

EDIT 2018 The question under was for the initial confusion face. The answer to this question is pdf(useDingbats = FALSE) as stated in numerous answers above. I won't delete this answer, in case you want to read about fonts (which might become a problem too).

OLD ANSWER AI does not recognize Helvetica type fonts. In my computer it doesn't matter that much, since it automatically replaces the font with something suitable. Of course you'd want to change the font in some cases. I often do it manually in AI (just select all the text and change the font type). Here is a thread on how to change the font in ggplot2: https://stackoverflow.com/questions/4094094/modifying-fonts-in-ggplot2

Ps. There is also another thread that might be helpful: https://stackoverflow.com/questions/1395323/fonts-in-r-plots

Solution 7 - R

You can download the font AdobePiStd - just Google it, download and install. After you reboot, the font should display correctly. You can then use the 'Find Font ...' utility within Illustrator to change it if you wish.

Solution 8 - R

Another option that in simple cases might solve the problem is to in illustrator select the textobjects not displayed correctly and change the font. Helvetica Neue works for me.

Solution 9 - R

I could solve the problem just by adding alpha specification. If you don't need any transparency you can chose an alpha value of 0.9 ...

example:

ggplot() + geom_point(aes(x=..,y=.., color=...), alpha=0.8)

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionSanderView Question on Stackoverflow
Solution 1 - RbdusenberyView Answer on Stackoverflow
Solution 2 - RproteogenomicsView Answer on Stackoverflow
Solution 3 - Ruser666993View Answer on Stackoverflow
Solution 4 - RMattBaggView Answer on Stackoverflow
Solution 5 - RAli AltıntaşView Answer on Stackoverflow
Solution 6 - RMikkoView Answer on Stackoverflow
Solution 7 - RArthurView Answer on Stackoverflow
Solution 8 - RKristoffer Vitting-SeerupView Answer on Stackoverflow
Solution 9 - RgeogeekView Answer on Stackoverflow