Exporter un graphique vers un fichier .eps avec R


107

Comment exporter un graphique vers un fichier au format .eps? J'exporte généralement mes graphiques dans un fichier .pdf (en utilisant la fonction 'pdf'), et cela fonctionne assez bien. Cependant, maintenant je dois exporter vers des fichiers .eps.


Vous pouvez essayer de rechercher dans R en tapant ??eps. Vous obtiendrez la postscriptpage ou du moins ps.options(ce qui vous mènerait à postscript).
Roman Luštrik

Voir aussi pdf2ps pour convertir des fichiers pdf en ps. Utilisation du shell:, $ pdf2ps plot.pdfva créer plot.ps.
Paul Rougieux

Réponses:


128

Le moyen le plus simple que j'ai trouvé pour créer des postscripts est le suivant, en utilisant la setEPS()commande:

setEPS()
postscript("whatever.eps")
plot(rnorm(100), main="Hey Some Data")
dev.off()

3
Il est surprenant de voir à quel point cela est utile et à quel point il est caché.
CompEcon

Oui, m'a sauvé beaucoup de captures d'écran :)
chepukha

Merci beaucoup, j'ai pu obtenir le graphique en * .eps.
lbenitesanchez

50

Si vous utilisez ggplot2pour générer une figure, alors a ggsave(file="name.eps")fonctionnera également.


Ah, c'est exactement ce dont j'avais besoin! Et vous pouvez modifier la taille comme ceci:ggsave("name.eps", width = 20, height = 20, units = "cm")
DirtStats

31

Le postscript()périphérique permet la création d'EPS, mais uniquement si vous modifiez certaines des valeurs par défaut. Lisez ?postscriptpour les détails.

Voici un exemple:

postscript("foo.eps", horizontal = FALSE, onefile = FALSE, paper = "special")
plot(1:10)
dev.off()

Merci. J'essaye de l'utiliser, mais il y a une erreur: les marges du graphe sont trop grandes ...
the_drug

6
agrandir les dimensions de la parcelle: postscript("foo.eps", horizontal = FALSE, onefile = FALSE, paper = "special", height = 10, width = 10)par exemple. Les unités sont en pouces. Le problème est que l'appareil sur lequel vous tracez n'est pas assez grand pour contenir les marges de la zone de tracé que vous utilisez.
Gavin Simpson

1
J'avais besoin du fichier * .eps exporté pour fonctionner dans Microsoft Powerpoint, ce qui n'était pas le cas au départ. Après quelques essais et erreurs, j'ai remarqué que je devais définir en plus le paramètre colormodel="rgb"de postscript ().
agoldev

14

Une autre façon consiste à utiliser des périphériques graphiques SVG, PDF et PostScript basés sur Cairographics. De cette façon, vous n'avez pas besoin desetEPS()

cairo_ps("image.eps")
plot(1, 10)
dev.off()

C'est une suggestion utile. cairo_psdiffère de postscripten ce qu'il prend en charge plus de glyphes Unicode, mais présente l'inconvénient que la semi-transparence est mal gérée et déclenchera souvent une sortie bitmap plutôt que vectorielle.
ms609

4

Oui, ouvrez un postscript()appareil avec un nom de fichier se terminant par .eps, faites vos tracés et appelez dev.off().

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.