В настоящее время я всегда экспортировать свои R графики для Powerpoint в векторном формате, используя отличную ReporteRs
пакет, как вR: Функция экспорта в настоящее время активный R участок в Powerpoint/Word/LibreOffice
library(ReporteRs)
myplot = function() print(qplot(Sepal.Length, Petal.Length, data = iris, color = Species, size = Petal.Width, alpha = I(0.7)))
doc = pptx()
doc = addSlide(doc, slide.layout = "Blank")
doc = addPlot(doc, myplot, vector.graphic = TRUE, fontname="Arial",
offx = 0.1*dim(doc)$slide.dim["width"], offy = 0.05*dim(doc)$slide.dim["height"],
width = 0.8*dim(doc)$slide.dim["width"], height = 0.9*dim(doc)$slide.dim["height"])
writeDoc(doc, "plot.pptx")
То, что я нахожу неудобным в этом рабочем процессе, заключается в том, что мне теперь приходится сворачивать мои команды построения в функцию (с print()
для lattice
или ggplot2
сюжетами или просто return(plot())
для базовых участков R), и что мне не нравится вручную указывать смещения и размер (I usua lly предпочитают просто получать почти заполнение страницы, центрированный график на моем слайде). Мне просто интересно, если бы вместо этого было невозможно сделать ваш сюжет первым (базовый график R, участок lattice
или участок ggplot2
), а затем определить функцию export2PPT
, которая фиксирует вывод вашего текущего графического устройства как функцию и передает его на до ReporteRs
и addPlot
для экспорта вашего участка в качестве Powerpoint (по центру & соответственно масштабируется), по аналогии с функцией dev.copy2pdf
, которая работает так же, как экспортировать в PDF?
И как только у нас есть такая функция, возможно, даже modify the grDevices
source code функций windows() and savePlot(), чтобы иметь дополнительную команду Файл ... Сохранить как Powerpoint, если вы использовали устройство windows()
? Или это что-то для людей R Core?
Специально для использования в классе это было бы очень удобно, я думаю, учитывая доминирование MS Office/LibreOffice. (поскольку Powerpoint намного проще редактировать, чем PDF, что позволяет легко вносить небольшие изменения в окончательный макет R-графиков, а векторный вывод по меньшей мере такой же хороший, как PDF, плюс прозрачность также полностью поддерживается - для PDF я считаю, что импорт в Inkscape часто является немного ошибкой, если только не используется Adobe Illustrator)
Любой, кто знал бы, как это сделать?
EDIT: для первой части моей проблемы, я только что нашел решение, увидеть мой ответ ниже
EDIT2: Теперь я сделал [small package export
] с вспомогательными функциями graph2ppt
и graph2doc
экспортировать текущий активный график в Powerpoint или слово а также table2doc
, table2ppt
и table2html
, чтобы экспортировать ранее указанный объект статистики R в таблицу Word, Powerpoint или HTML, например :
install.packages("rJava")
install.packages("ReporteRs")
install.packages("ReporteRsjars")
install.packages("ggplot2")
install.packages("rtable")
install.packages("xtable")
install.packages("taRifx")
install.packages("devtools")
library(devtools)
devtools::install_github('tomwenseleers/export',local=F)
library(export)
?graph2ppt
?table2doc
## export of ggplot2 plot
library(ggplot2)
qplot(Sepal.Length, Petal.Length, data = iris, color = Species,
size = Petal.Width, alpha = I(0.7))
graph2ppt(file="ggplot2 plot.pptx", aspectr=1.7)
# add 2nd slide with same graph in different aspect ratio
graph2ppt(file="ggplot2 plot.pptx", aspectr=1.3, append=T)
# add 3d slide with same graph with fixed width & height
graph2ppt(file="ggplot2 plot.pptx", width=6, height=5, append=T)
# export of aov Anova output
fit=aov(yield ~ block + N * P + K, npk)
summary(fit)
table2doc(file="table_aov.docx")
summary(fit)
table2doc(file="table_aov.docx",append=T,digits=4)
summary(fit)
table2doc(file="table_aov.docx",append=T,digits=4,digitspvals=1)
summary(fit)
table2html(file="table_aov.html")
Если кто-нибудь обнаружит ошибки, сообщите мне!
Для редактирования в Inkscape, я обычно экспорт в .SVG. Что касается второй части вашего вопроса, вы говорите о RGui, RStudio или о чем-то еще? –
Спасибо, что указали на это - у меня создалось впечатление, что .svg не поддерживает прозрачные/альфа-каналы, но, видимо, теперь это происходит ... Определенно замеченные случаи, когда svg-экспорт также иногда прикручивается, хотя ... И все же предпочитаю редактирование в Powerpoint, особенно для простых вещей. Вторая часть моего вопроса заключалась в том, как можно реализовать файл ...Сохранить как вкладку Powerpoint, используя приведенную ниже функцию, либо на вкладке графика RStudio, либо в интерактивном окне, которое вы получаете при использовании окон(), а затем создаете свой сюжет в этом окне (под Windows) –
Во-вторых, предложение о том, что «экспорт в Powerpoint "или простая в использовании функция. Я знаю многих людей, которые больше знакомы с Powerpoint, чем Illustrator, Inkscape и т. Д. (И кто предпочитает делать все точные настройки в программном обеспечении, управляемом мышью), и я уверен, что эта функция будет пользоваться большим количеством использования. – lukeholman