J'ai créé plusieurs graphes simples ggplot2 et les ai enregistrés dans des fichiers PDF à l'aide des commandes suivantes:
p <- ggplot(plotobject, aes(x=Pos, y=Pval),res=300)
ggsave(plot=p,height=6,width=6,dpi=200, filename="~/example.pdf")
Si j'ouvre maintenant this example.pdf dans Adobe Illustrator, l'erreur suivante apparaît:
La police AdobePiStd est manquante. Le texte concerné sera affiché avec une police de substitution.
Existe-t-il un moyen dans ggplot2 de spécifier une police (je suppose que c'est pour les points/points) que Adobe comprendra ou sinon, existe-t-il un moyen de faire fonctionner cette police dans Adobe?
/ edit juste pour clarifier, le texte/les étiquettes/les titres ne sont que des points qui manquent pour la police de caractères /edit2 J'ai une solution qui fonctionne en utilisant simplement la sortie EPS dans ggsave, mais j'aimerais quand même trouver un moyen de pouvoir également ouvrir/importer des placettes ggplot2 au format PDF directement dans AI
Bien que changer les polices utilisées par l'IA fonctionne bien, une alternative consiste à empêcher ggplot2 d'utiliser Dingbats en ajoutant l'argument 'useDingbats' à votre commande ggsave, par exemple:
ggsave(plot=p,height=6,width=6,dpi=200, filename="~/example.pdf", useDingbats=FALSE)
J'ai rencontré ce problème également sur Mac OS X 10.8.2.
Cela a résolu le problème pour moi:
font='/Library/Application Support/Adobe/PDFL/10.9/Fonts/AdobePiStd.otf'
cp $font /Library/Fonts/
Sur votre système, recherchez le fichier avec 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
Pour les points ou les points qui ne s'affichent pas correctement dans un fichier PDF, il suffit de remplacer Zapf Dingbats par la police manquante dans Adobe Illustrator. Pour les marqueurs de parcelle simples, cela fait le travail la plupart du temps.
Cela semble être un problème pervers dans lequel Adobe Illustrator ne peut pas trouver une police (AdobePiStd) distribuée avec Adobe Reader et donc probablement présente.
Si vous effectuez une recherche sur votre ordinateur, vous êtes susceptible de le trouver. Sur mon système Windows XP, il se trouvait dans: C:\Program Files\Adobe\Reader 10.0\Resource\Font
Après l'avoir trouvée, vous pouvez l'installer ainsi que d'autres polices dans ce dossier, ce qui devrait permettre à Illustrator de les trouver.
Pour les autres problèmes de police/pdf dans R, le package embedFonts dans le package grDevices est utile.
Utilisez useDingbats=FALSE
pour la sortie pdf, Illustrator ne se plaindra pas.
pdf("example.pdf", useDingbats=FALSE)
ggplot(plotobject, aes(x=Pos, y=Pval),res=300)
dev.off()
EDIT 2018 La question sous était pour le visage de confusion initiale. La réponse à cette question est pdf(useDingbats = FALSE)
, comme indiqué dans les nombreuses réponses ci-dessus. Je ne supprimerai pas cette réponse si vous souhaitez en savoir plus sur les polices de caractères (qui pourraient également poser problème).
OLD REPONSE AI ne reconnaît pas les polices de type Helvetica. Sur mon ordinateur, cela n'a pas beaucoup d'importance, puisqu'il remplace automatiquement la police par quelque chose qui convient. Bien sûr, vous voudrez peut-être changer la police dans certains cas. Je le fais souvent manuellement dans AI (il suffit de sélectionner tout le texte et de changer le type de police). Voici un fil sur la façon de changer la police dans ggplot2: Modification des polices dans ggplot2
Ps. Il existe également un autre sujet qui pourrait être utile: Les polices dans les parcelles R
Vous pouvez télécharger la police AdobePiStd - utilisez-la simplement sur Google, téléchargez-la et installez-la. Après le redémarrage, la police devrait s’afficher correctement. Vous pouvez ensuite utiliser l'utilitaire "Rechercher une police ..." dans Illustrator pour le modifier si vous le souhaitez.
Une autre option qui, dans des cas simples, pourrait résoudre le problème consiste à sélectionner dans illustrator les objets textuels non affichés correctement et à modifier la police. Helvetica Neue travaille pour moi.