Экспорт графика в файл .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()
CompEcon
источник
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()
Гэвин Симпсон
источник
Спасибо. Я пытаюсь использовать его, но возникает ошибка: слишком большие поля графика ...
the_drug 01
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 на основе Cairographics. Таким образом, вам не нужноsetEPS()

cairo_ps("image.eps")
plot(1, 10)
dev.off()
USER_1
источник
Это полезное предложение. cairo_psотличается от postscriptэтого тем, что поддерживает большее количество глифов Unicode, но имеет недостаток, заключающийся в том, что полупрозрачность плохо обрабатывается и часто запускает растровое изображение, а не векторный вывод.
ms609
4

Да, откройте postscript()устройство с именем, оканчивающимся на .eps, сделайте свой сюжет (ы) и позвоните dev.off().

Дирк Эддельбюттель
источник