Экспорт графика в файл .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()

Спасибо. Я пытаюсь использовать его, но возникает ошибка: слишком большие поля графика ...
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()

Это полезное предложение. cairo_psотличается от postscriptэтого тем, что поддерживает большее количество глифов Unicode, но имеет недостаток, заключающийся в том, что полупрозрачность плохо обрабатывается и часто запускает растровое изображение, а не векторный вывод.
ms609

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.