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.


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()

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.


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()

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()

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().

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.