R ile bir grafiği .eps dosyasına aktarın


107

Bir grafiği .eps formatındaki bir dosyaya nasıl aktarırım? Genelde grafikleri bir .pdf dosyasına ('pdf' işlevini kullanarak) aktarıyorum ve oldukça iyi çalışıyor. Ancak, şimdi .eps dosyalarına aktarmam gerekiyor.


R yazarak aramayı deneyebilirsiniz ??eps. Ya bir postscriptsayfa alırsınız ya da en azından ps.options(sizi yönlendirir postscript).
Roman Luštrik

Ayrıca pdf dosyalarını ps'ye dönüştürmek için pdf2ps'ye bakın . Kabuk kullanımı:, $ pdf2ps plot.pdfoluşturacaktır plot.ps.
Paul Rougieux

Yanıtlar:


128

Şu setEPS()komutu kullanarak postscript oluşturmanın en kolay yolu şudur :

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

3
Bunun ne kadar yararlı olduğu ve bir özelliğin ne kadar gizli olduğu şaşırtıcı.
CompEcon

Evet, bana çok fazla ekran görüntüsü kazandırdı :)
chepukha

Çok teşekkür ederim, grafiği * .eps olarak almalıyım.
lbenitesanchez

50

ggplot2Bir şekil oluşturmak için kullanıyorsanız , o zaman a ggsave(file="name.eps")da çalışacaktır.


Ah, bu tam da ihtiyacım olan şey! Ve böyle boyutunu değiştirebilirsiniz:ggsave("name.eps", width = 20, height = 20, units = "cm")
DirtStats

31

postscript()Cihaz ancak, EPS oluşturulmasını sağlar sadece varsayılan değerlerinden bazılarını değiştirirseniz. ?postscriptAyrıntılar için okuyun .

İşte bir örnek:

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

Teşekkürler.
Kullanmaya

6
arsa boyutlarını büyütün: postscript("foo.eps", horizontal = FALSE, onefile = FALSE, paper = "special", height = 10, width = 10)örneğin. Birimler inç cinsindendir. Sorun, planladığınız cihazın, kullandığınız çizim bölgesinin kenar boşluklarını içerecek kadar büyük olmamasıdır.
Gavin Simpson

1
Dışa aktarılan * .eps'lerin Microsoft Powerpoint'te çalışması için ihtiyacım vardı, ancak başlangıçta durum böyle değildi. Biraz deneme yanılma sonrasında, ek colormodel="rgb"olarak postscript () parametresini ayarlamam gerektiğini fark ettim .
agoldev

14

Başka bir yol da Cairographics tabanlı SVG, PDF ve PostScript Grafik Aygıtlarını kullanmaktır. Bu şekilde ihtiyacın yoksetEPS()

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

Bu yararlı bir öneridir. daha fazla unicode glifi desteklemesi cairo_psaçısından farklıdır postscript, ancak yarı saydamlığın kötü bir şekilde işlenmesi ve genellikle vektör çıktısı yerine bitmap'i tetiklemesi dezavantajına sahiptir.
ms609

4

Evet, postscript()dosya adı ile biten bir cihaz açın .eps, arsa (ları) nızı yapın ve arayın dev.off().

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.