Exportar un gráfico a un archivo .eps con R


107

¿Cómo exporto un gráfico a un archivo de formato .eps? Normalmente exporto mis gráficos a un archivo .pdf (usando la función 'pdf') y funciona bastante bien. Sin embargo, ahora tengo que exportar a archivos .eps.


Puede intentar buscar en R escribiendo ??eps. Obtendría una postscriptpágina o al menos ps.options(lo que lo llevaría a postscript).
Roman Luštrik

Consulte también pdf2ps para convertir archivos pdf a ps. Uso de Shell: $ pdf2ps plot.pdfcreará plot.ps.
Paul Rougieux

Respuestas:


128

La forma más fácil que he encontrado para crear postscripts es la siguiente, usando el setEPS()comando:

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

3
Es sorprendente lo útil que es esto y lo oculta que es una característica.
CompEcon

Sí, me
guardé

Muchas gracias, tengo que conseguir el gráfico en * .eps.
lbenitesanchez

50

Si está utilizando ggplot2para generar una figura, ggsave(file="name.eps")también funcionará.


¡Ah, esto es justo lo que necesitaba! Y puede modificar el tamaño de esta manera:ggsave("name.eps", width = 20, height = 20, units = "cm")
DirtStats

31

El postscript()dispositivo permite la creación de EPS, pero solo si cambia algunos de los valores predeterminados. Lea ?postscriptpara conocer los detalles.

Aquí hay un ejemplo:

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

Gracias. Estoy tratando de usarlo, pero hay un error: los márgenes del gráfico son demasiado grandes ...
the_drug

6
agrandar las dimensiones de la parcela: postscript("foo.eps", horizontal = FALSE, onefile = FALSE, paper = "special", height = 10, width = 10)por ejemplo. Las unidades están en pulgadas. El problema es que el dispositivo en el que está trazando no es lo suficientemente grande para contener los márgenes de la región de trazado que está utilizando.
Gavin Simpson

1
Necesitaba que el * .eps exportado funcionara en Microsoft Powerpoint, lo cual no era el caso inicialmente. Después de algunas pruebas y errores, noté que tenía que configurar adicionalmente el parámetro colormodel="rgb"de postscript ().
agoldev

14

Otra forma es utilizar dispositivos gráficos SVG, PDF y PostScript basados ​​en Cairographics. De esta manera no necesitassetEPS()

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

Ésta es una sugerencia útil. cairo_psse diferencia postscripten que admite más glifos Unicode, pero tiene el inconveniente de que la semitransparencia se maneja mal y, a menudo, activará un mapa de bits en lugar de una salida vectorial.
ms609

4

Sí, abra un postscript()dispositivo con un nombre de archivo que termine en .eps, haga su (s) diagrama (s) y llame dev.off().

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.