Вопрос по ggplot2, ms-word, r – R eps экспорт и импорт в Word 2010

6

У меня проблемы с экспортом файлов eps из R и импортом в Word 2010.

Я используюggplot2 участки, например

library(ggplot2)
p <- qplot(disp,hp,data=mtcars) + stat_smooth()
p

Даже после звонкаsetEPS() ни один из следующих файлов не может быть успешно импортирован.

ggsave("plot.eps")

postscript("plot.eps")
print(p)
dev.off()

Странно то, что если я создаю сюжет, используяFile - & GT;Save As - & GT;Postscript из меню в графическом интерфейсе, он может быть импортирован правильно. Однако, когда документ Word впоследствии экспортируется в формате PDF, шрифты на графике немного зазубрины.

Итак, мои вопросы:

What combination of (ggsave/postscript) settings allows me to produce eps files that can be imported into Word 2010? How can I ensure the fonts remain clear when the Word document is exported as a pdf?

Update

После дополнительного расследования мне повезло больше сcairo_ps производить участки. Однако при импорте в Word текст не отображается.

Кроме того, после проверки различных выходов EPS (cairo_psсохранить из графического интерфейса,ggsave) в латексном документе кажется, что фильтр импорта eps в Word довольно плохой, так как вывод print / pdf не соответствует качеству латексного документа.ggsave версия (которая используетpostscript) имелись некоторые проблемы с цветами, которых не было у двух других методов.

Вывод заключается в том, что это проблема Word и, следовательно,fortune(109) не применяется. Я был бы рад, если бы мы доказали обратное, но я присуждаю ответ и вознаграждение тому, кто может предоставить команды, которые могут копировать выходные данные из графического интерфейса пользователя в форме команд.

Также приведите решение ниже, используя новый пакет экспорта, который только что вышел на CRAN Tom Wenseleers
Вероятно, это проблема Word 2007+: & quot;Inability to use eps graphics in Word 2007 and make a pdf. & Quot; Alexey Popkov

Ваш Ответ

5   ответов
4

Windows 7 с помощьюcolormodel="rgb" опция (по умолчанию"srgb") изpostscript команда.

postscript("RPlot.eps", height = 4, width = 4, horizontal = FALSE, 
         paper = "special", colormodel = "rgb")
library(ggplot2)
p <- qplot(disp,hp,data=mtcars) + stat_smooth(se=FALSE, method="loess")
p
dev.off()
4

postscript страница справки:

 postscript("RPlot.eps", height = 4, width = 4, horizontal = FALSE, onefile = FALSE,
             paper = "special")
 library(ggplot2)
 p <- qplot(disp,hp,data=mtcars) + stat_smooth()
 p
#geom_smooth: method="auto" and size of largest group is <1000, so using loess. Use 'method = x' to #change the smoothing method.
#Warning message:
#In grid.Call.graphics(L_polygon, x$x, x$y, index) :
#  semi-transparency is not supported on this device: reported only once per page
 dev.off()
#quartz 
#     2 

Забавные вещи в конце обращают ваше внимание на то, что пока это только Mac-протестированное решение.

Изменить: Я только что протестировал его с версией R 2.15.1 (2012-06-22) - "Жареные зефиры": Платформа: i386-pc-mingw32 / i386 (32-разрядная версия) и MS Word 2007 в Win XP и работал. Команды были Вставить / Изображение ... / Выбрать формат EPS / Выбрать файл.

Edit2: есть другой способ сохранения, кроме непосредственного использования устройства postscript. Метод savePlot с"eps" Режим доступен в Windows (но не в Mac). Я согласен, что шрифты не такие гладкие, как на Mac, но я не вижу разницы в качестве между сохранением с помощью savePlot и использованием сохранения как из интерактивного окна.

savePlot(filename = "Rplot2", type = "eps", device = dev.cur(), restoreConsole = TRUE)

savePlot звонки(.External(CsavePlot, device, filename, type, restoreConsole))

savePlot выглядит как ответ, но у него меньше гибкости, чем у других методов. Да, я согласен и всегда знал, что проблема заключалась в Word - в нем больше причуд и ошибок, чем в ходе конференции по энтомологии на национальной конференции по ОКР! Во всяком случае, Браво! Тик и щедрость ваши. James
Отображается только в некоторых режимах просмотра. Но это проблема Word, а не проблема R.
Я думаюsetEPS() устанавливает эти параметры глобально. В любом случае, это все еще не работает для меня в Windows. James
Похоже, фильтр импорта MS Word для EPS игнорирует предварительный просмотр, и это важно дляembed fonts, В противном случае предварительный просмотр будет выглядеть уродливым, в то время как он будет хорошо печататься на принтере PostScript с соответствующими драйверами.
Через 9 часов видимо ... James
1

Лучшее решение - экспортировать графики в Word или Powerpoint напрямую в стандартный формат Office. Я только что сделал новый пакет, экспорт, который делает именно это, смотрите https://cran.r-project.org/web/packages/export/index.html а также для демонстрации https://github.com/tomwenseleers/export

Типичный синтаксис очень прост, например:

install.packages("export")
library(export)
library(ggplot2)
qplot(Sepal.Length, Petal.Length, data = iris, color = Species, 
      size = Petal.Width, alpha = I(0.7))     
graph2doc(file="ggplot2_plot.docx", width=6, height=5)
graph2ppt(file="ggplot2_plot.pptx", width=6, height=5) 

Вывод в векторном формате и полностью редактируемый после разгруппирования вашего графика в Word или Powerpoint. Вы также можете использовать его для экспорта статистического вывода различных объектов R stats.

1

wmf как формат, который вы можете создать в Windows.

Ну мойreal Совет, конечно, вообще не трогать Word, но не каждый может уйти в латекс / sweave / knitr / rmd / ... Тем не менее, когда мне приходилось использовать его в прошлом, wmf был наименее болезненным вариантом.
Обычно мне больше всего везло со смехотворно высоким разрешением PNG (размер хранилища не так уж плохо масштабируется), которое затем можно соответствующим образом изменить в документе Office. Единственная хитрость заключается в сохранении «физического размера». (масштабирование шрифтов, cex и т. д.) постоянное при увеличении разрешения.
@BenBolker Я использовал PNG раньше, 4,5 мегапикселя, что выглядело нормально, пока не увеличилось. Перфекционист во мне, однако, не слишком доволен ими. Имейте в виду, он тоже не доволен использованием Word! James
необязательно, формат wmf также может быть немного затруднительным. Я думал, что есть хорошая ссылка на экспорт графики в MS Office на R-wiki, но я не могу его найти.
Спасибо, Дирк, возможно, мне придется сделать это. Я слышал о проблемах с wmf. Что меня удивляет, так это то, что я могу получить рабочие файлы eps из GUI, но не программно. James
0

чтобы связать HTML-файлы со всеми вашими графиками, а затем открыть HTML-файлы с помощью Word.

учебник по Knitr

Я ничего не говорил о EPS. Я просто говорил о простом способе вставить ваши графики в Word.
С каких пор HTML поддерживает EPS, Word поддерживает SVG?

Похожие вопросы