Wyeksportuj wykres do pliku .eps za pomocą R.

107

Jak wyeksportować wykres do pliku w formacie .eps? Zwykle eksportuję swoje wykresy do pliku .pdf (przy użyciu funkcji „pdf”) i działa całkiem dobrze. Jednak teraz muszę wyeksportować do plików .eps.

narkotyk
źródło
Możesz spróbować wyszukać w R, wpisując ??eps. Dostaniesz postscriptstronę lub przynajmniej ps.options(co doprowadzi cię do postscript).
Roman Luštrik
Zobacz także pdf2ps, aby konwertować pliki pdf na ps. Użycie powłoki:, $ pdf2ps plot.pdfutworzy plot.ps.
Paul Rougieux

Odpowiedzi:

128

Najłatwiejszy sposób tworzenia postscriptów jest następujący, używając setEPS()polecenia:

setEPS()
postscript("whatever.eps")
plot(rnorm(100), main="Hey Some Data")
dev.off()
CompEcon
źródło
3
Zaskakujące jest, jak przydatne jest to i jak ukryta jest funkcja.
CompEcon
Tak, zaoszczędziłem dużo zrzutów ekranu :)
chepukha
Dziękuję bardzo, otrzymałem wykres w formacie * .eps.
lbenitesanchez
50

Jeśli używasz ggplot2do generowania figury, to ggsave(file="name.eps")również zadziała.

Maiasaura
źródło
Ach, właśnie tego potrzebowałem! I możesz zmodyfikować rozmiar w ten sposób:ggsave("name.eps", width = 20, height = 20, units = "cm")
DirtStats
31

postscript()Urządzenie umożliwia tworzenie EPS, ale tylko jeśli zmienić niektóre wartości domyślnych. Przeczytaj ?postscriptszczegóły.

Oto przykład:

postscript("foo.eps", horizontal = FALSE, onefile = FALSE, paper = "special")
plot(1:10)
dev.off()
Gavin Simpson
źródło
Dzięki. Próbuję go użyć, ale wystąpił błąd: marginesy wykresu za duże ...
the_drug
6
zwiększyć wymiary działki: postscript("foo.eps", horizontal = FALSE, onefile = FALSE, paper = "special", height = 10, width = 10)na przykład. Jednostki podane są w calach. Problem polega na tym, że urządzenie, na którym drukujesz, nie jest wystarczająco duże, aby pomieścić marginesy używanego regionu wydruku.
Gavin Simpson
1
Potrzebowałem wyeksportowanych * .eps do pracy w Microsoft Powerpoint, co początkowo nie miało miejsca. Po kilku próbach i błędach zauważyłem, że muszę dodatkowo ustawić parametr colormodel="rgb"postscript ().
agoldev
14

Innym sposobem jest użycie opartych na Cairographics urządzeń graficznych SVG, PDF i PostScript. W ten sposób nie musiszsetEPS()

cairo_ps("image.eps")
plot(1, 10)
dev.off()
USER_1
źródło
To przydatna sugestia. cairo_psróżni się od postscripttego, że obsługuje więcej glifów Unicode, ale ma tę wadę, że półprzezroczystość jest słabo obsługiwana i często wyzwala bitmapę zamiast wyjścia wektorowego.
ms609
4

Tak, otwórz postscript()urządzenie z nazwą pliku kończącą się na .eps, wykonaj swoje wykresy i zadzwoń dev.off().

Dirk Eddelbuettel
źródło