Експортуйте графік у файл .eps з R


107

Як експортувати графік у файл формату .eps? Зазвичай я експортую свої графіки у .pdf-файл (за допомогою функції 'pdf'), і він працює досить добре. Однак зараз мені доведеться експортувати до файлів .eps.


Ви можете спробувати здійснити пошук в R, ввівши ??eps. Ви або отримаєте postscriptсторінку або принаймні ps.options(що призведе до вас postscript).
Роман Луштрик,

Дивіться також pdf2ps для перетворення файлів PDF у ps. Використання оболонки:, $ pdf2ps plot.pdfстворить plot.ps.
Пол Рудьо

Відповіді:


128

Найпростіший спосіб, який я знайшов для створення примірників, полягає в наступному, використовуючи setEPS()команду:

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

3
Дивно, наскільки це корисно і наскільки прихована функція.
CompEcon

Так, врятували мені багато скріншотів :)
чепуха

Дуже дякую, я мав отримати графік у * .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()

Дякую. Я намагаюся його використовувати, але є помилка:
надбавка

6
зробіть розміри сюжету більшими: postscript("foo.eps", horizontal = FALSE, onefile = FALSE, paper = "special", height = 10, width = 10)наприклад. Одиниці знаходяться в дюймах. Проблема полягає в тому, що пристрій, на який ви плануєте, недостатньо великий, щоб містити поля області сюжету, яку ви використовуєте.
Гевін Сімпсон

1
Мені потрібен був експортований * .eps для роботи в Microsoft Powerpoint, що спочатку так не було. Після деяких проб і помилок я помітив, що мені доведеться додатково встановити параметр colormodel="rgb"postscript ().
agoldev

14

Інший спосіб - використання SVG, PDF та PostScript графічних пристроїв на основі кайрографії. Таким чином вам не потрібноsetEPS()

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

Це корисна пропозиція. cairo_psвідрізняється postscriptтим, що він підтримує більше однокодових гліфів, але має недолік, що напівпрозорість погано обробляється і часто викликає растрове зображення, а не векторний вихід.
ms609

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.