R: Funktion zum Exportieren des aktuell aktiven R-Plots nach Powerpoint / Word / LibreOffice
erzeit exportiere ich meine R-Diagramme immer im Vektorformat nach PowerpoinReporteRs
Paket, wie in
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")
Was ich in diesem Workflow als unbequem empfinde, ist, dass ich jetzt meine Plotbefehle in eine Funktion einbinden muss (mitprint()
zumlattice
oderggplot2
Handlungen oder nurreturn(plot())
für Basis-R-Diagramme), und dass ich die Offsets und die Größe nicht gerne manuell angeben muss (normalerweise ziehe ich es vor, nur ein fast seitenfüllendes, zentriertes Diagramm in meiner Folie zu erhalten). Ich habe mich nur gefragt, ob es stattdessen nicht möglich wäre, zuerst Ihre Handlung zu erstellen (Basis-R-Handlung,lattice
plot oderggplot2
plot) und definiere dann eine Funktionexport2PPT
, das die Ausgabe Ihres aktuellen Grafikgeräts als Funktion erfasst und an @ weiterleitReporteRs
undaddPlot
, um Ihr Diagramm als Powerpoint zu exportieren (zentriert und entsprechend skaliert), in Analogie zu functiondev.copy2pdf
funktioniert das genauso wie beim PDF-Export?
Und sobald wir eine solche Funktion haben, vielleicht sogarmodifiziere dengrDevices
Quellcod von Funktionenwindows () und savePlot (), um einen zusätzlichen Befehl zu erhalten Datei ... Als Powerpoint speichern, wenn einer das @ verwendet hwindows()
Gerät? Oder ist das etwas für die R Core-Leute zu tun?
Besonders für den Einsatz im Klassenzimmer wäre dies angesichts der Dominanz von MS Office / LibreOffice sehr praktisch. (Da Powerpoint viel einfacher zu bearbeiten ist als PDF, können kleine Änderungen am endgültigen Layout von R-Diagrammen vorgenommen werden, und die Vektorausgabe ist mindestens so gut wie PDF, und Transparenz wird ebenfalls voll unterstützt - für PDF finde ich diesen Import in Inkscape ist oft ein bisschen fehlerhaft, es sei denn, man verwendet Adobe Illustrator)
Jemand, der wissen würde, wie das geht?
EDIT: In der Zwischenzeit habe ich die Lösung gefunden und die Exportfunktionen zum Exportieren des derzeit aktiven R-Plots nach Powerpoint in einem Paket auf CRAN integriert (siehe @https: //cran.r-project.org/web/packages/export/index.htm undhttps: //github.com/tomwenseleers/expor für die Demo-Nutzung. Das Paket verwendet jetzt das Officer-Paket als Backend, da ReporteRs veraltet sind ...