R: Função para exportar a plotagem R atualmente ativa para o Powerpoint / Word / LibreOffice
Atualmente, eu sempre exporto meus gráficos R para o Powerpoint em formato vetorial usando o excelenteReporteRs
pacote, como em
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")
O que acho inconveniente nesse fluxo de trabalho é que agora tenho que agrupar meus comandos de plotagem em uma função (comprint()
paralattice
ouggplot2
parcelas, ou apenasreturn(plot())
para gráficos R básicos) e que não gosto de especificar manualmente as compensações e o tamanho (geralmente prefiro obter apenas um gráfico centralizado de preenchimento de página no meu slide). Eu só queria saber se, em vez disso, não seria possível fazer sua trama primeiro (trama base R,lattice
trama ouggplot2
plot) e, em seguida, defina uma funçãoexport2PPT
que captura a saída do seu dispositivo gráfico atual como uma função e a transmite paraReporteRs
eaddPlot
exportar sua plotagem como Powerpoint (centralizado e dimensionado adequadamente), por analogia, para funcionardev.copy2pdf
que funciona da mesma maneira para exportar para PDF?
E uma vez que tenhamos essa função, talvez atémodificar ogrDevices
Código fonte de funçõeswindows () e savePlot () para ter um comando adicional Arquivo ... Salvar como Powerpoint se alguém estiver usando owindows()
dispositivo? Ou isso é algo para o pessoal do R Core fazer?
Especialmente para uso em sala de aula, acho que seria super útil, dado o domínio do MS Office / LibreOffice. (como o Powerpoint é muito mais fácil de editar do que o PDF, permitindo fazer pequenas alterações com facilidade no layout final dos gráficos R, e a saída do vetor é pelo menos tão boa quanto o PDF, além da transparência também ser totalmente suportada - para PDF, acho que no Inkscape geralmente é um pouco complicado, a menos que alguém use o Adobe Illustrator)
Alguém que saberia como fazer isso?
EDIT: Enquanto isso, encontrei a solução e envolvi funções de exportação para exportar o gráfico R atualmente ativo para o powerpoint em um pacote no CRAN, consultehttps://cran.r-project.org/web/packages/export/index.html ehttps://github.com/tomwenseleers/export para uso de demonstração. O pacote agora usa o pacote oficial como back-end, pois os ReporteRs estão obsoletos ...