ส่งออกกราฟเป็นไฟล์. eps ด้วย R


107

ฉันจะส่งออกกราฟเป็นไฟล์รูปแบบ. eps ได้อย่างไร โดยปกติฉันจะส่งออกกราฟเป็นไฟล์. pdf (โดยใช้ฟังก์ชัน 'pdf') และทำงานได้ดีทีเดียว อย่างไรก็ตามตอนนี้ฉันต้องส่งออกเป็นไฟล์. eps


คุณอาจจะลองค้นหาใน R ??epsโดยการพิมพ์ คุณจะได้รับpostscriptหน้าหรืออย่างน้อยps.options(ซึ่งจะนำคุณไปสู่postscript)
Roman Luštrik

ดูpdf2psเพื่อแปลงไฟล์ pdf เป็น ps การใช้งานเชลล์: จะสร้าง$ pdf2ps plot.pdf plot.ps
Paul Rougieux

คำตอบ:


129

วิธีที่ง่ายที่สุดที่ฉันพบในการสร้างคำบรรยายมีดังต่อไปนี้โดยใช้setEPS()คำสั่ง:

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

3
น่าแปลกใจว่าสิ่งนี้มีประโยชน์อย่างไรและคุณลักษณะนี้ซ่อนอยู่อย่างไร
CompEcon

ใช่บันทึกภาพหน้าจอให้ฉันมากมาย :)
chepukha

ขอบคุณมากฉันได้กราฟใน * .eps
lbenitesanchez

50

หากคุณกำลังใช้ggplot2เพื่อสร้างรูปก็ggsave(file="name.eps")จะใช้ได้เช่นกัน


อ่านี่คือสิ่งที่ฉันต้องการ! และคุณสามารถปรับเปลี่ยนขนาดดังนี้:ggsave("name.eps", width = 20, height = 20, units = "cm")
DirtStats

31

postscript()อุปกรณ์ช่วยให้การสร้างกำไรต่อหุ้น แต่เพียงถ้าคุณเปลี่ยนบางส่วนของค่าเริ่มต้น อ่าน?postscriptรายละเอียด

นี่คือตัวอย่าง:

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

ขอบคุณ. ฉันพยายามที่จะใช้มัน แต่มีข้อผิดพลาด: ระยะขอบกราฟใหญ่เกินไป ...
the_drug

6
ทำให้ขนาดของพล็อตใหญ่ขึ้น: postscript("foo.eps", horizontal = FALSE, onefile = FALSE, paper = "special", height = 10, width = 10)ตัวอย่างเช่น หน่วยเป็นนิ้ว ปัญหาคืออุปกรณ์ที่คุณกำลังพล็อตมีขนาดไม่ใหญ่พอที่จะมีระยะขอบของพื้นที่พล็อตที่คุณใช้อยู่
Gavin Simpson

1
ฉันต้องการ * .eps ที่ส่งออกเพื่อทำงานใน Microsoft Powerpoint ซึ่งไม่ใช่กรณีแรก หลังจากลองผิดลองถูกฉันสังเกตเห็นว่าฉันต้องตั้งค่าพารามิเตอร์colormodel="rgb"ของ postscript () เพิ่มเติม
agoldev

14

อีกวิธีหนึ่งคือการใช้อุปกรณ์กราฟิก SVG, PDF และ PostScript ที่ใช้ Cairographics วิธีนี้คุณไม่จำเป็นต้องทำsetEPS()

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

1
นี่เป็นคำแนะนำที่เป็นประโยชน์ cairo_psแตกต่างจากตรงpostscriptที่รองรับร่ายมนตร์ Unicode มากกว่า แต่มีข้อเสียตรงที่การจัดการกึ่งโปร่งใสไม่ดีและมักจะทริกเกอร์บิตแมปแทนที่จะเป็นเอาต์พุตเวกเตอร์
ms609

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.