現在、私はいつものように、優れたReporteRs
パッケージを使用してベクター形式でRグラフをPowerPointにエクスポートしています。
_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")
_
このワークフローで不便なのは、プロットコマンドを関数にラップする必要があることです(lattice
または_ggplot2
_プロットの場合はprint()
を使用するか、単にreturn(plot())
ベースRプロットの場合)、オフセットとサイズを手動で指定する必要がないのが普通です(通常、ページのほぼ中央にある、中央のグラフをスライドで取得することを好みます)。代わりに、最初にプロット(ベースRプロット、lattice
プロット、または_ggplot2
_プロット)を作成し、次に関数を定義する_export2PPT
_を定義することが不可能かどうか疑問に思いました関数として現在のグラフィックスデバイスの出力をReporteRs
とaddPlot
に渡し、プロットをPowerPointとしてエクスポートします(中央揃えで適切にスケーリングされます)。関数_dev.copy2pdf
_に類似しています。 PDFへのエクスポートと同じように機能しますか?
そして、このような関数を作成したら、おそらく grDevices
ソースコードを変更 関数 windows()とsavePlot() でさえ、追加のコマンドファイルを作成できます。 ..windows()
デバイスを使用していた場合、PowerPointとして保存しますか?それとも、これはRコアの人々が行うことですか?
特に教室で使用する場合、MS Office/LibreOfficeの優位性を考えると、これは非常に便利だと思います。 (PowerPointはPDFよりもはるかに簡単に編集できるため、Rグラフの最終レイアウトを簡単に変更でき、ベクトル出力は少なくともPDFと同等であり、さらに透明度も完全にサポートされています-PDF Adobe Illustratorを使用しない限り、Inkscapeへのインポートは少しバグが多いことがわかります)
これを行う方法を知っている人はいますか?
編集:その間、私は解決策を見つけ、現在アクティブなRプロットをPowerPointにCRANのパッケージにエクスポートするためのエクスポート関数をラップしました https://cran.r-project.org/web/packagesを参照) /export/index.html および https://github.com/tomwenseleers/export デモ用。 ReporteRが廃止されたため、パッケージは現在、オフィサーパッケージをバックエンドとして使用しています...
現在アクティブなグラフィックデバイスのRプロットをPowerPointまたはWord(またはLibreOffice Impress/Writer)に編集可能な(DrawingML)ベクトル形式でワンライナーとしてエクスポートできる新しいCRANパッケージexport
を作成しました、透明性などを完全にサポートしている https://cran.r-project.org/web/packages/export/index.html を参照してください https:// github .com/tomwenseleers/export
例えば:
install.packages("export")
library(export)
lattice
プロットをエクスポートする例:
library(effects)
fit=lm(prestige ~ type + income*education, data=Prestige)
plot(Effect(c("income", "education"), fit),multiline=T, ci.style="bands")
graph2ppt(file="effect plot.pptx", width=7, height=5)
PPTを右クリックすると、ベクトル形式でうまく表示されます:
WordまたはPPT=これらのグラフも(ベクター形式)に完全にエクスポートされますPDF File ... Save as ... PDFを使用してPDFで直接編集するよりもレイアウトを簡単に微調整できる。
R CoreまたはRStudioの人々がこの機能を含めたい場合は、実行してください。Officeスイートの優位性と広範な使用を考えると、教室での使用には非常に便利です。