在给定大小的幻灯片中绘制 ggplot2 图形 - R

Chr*_*ris 3 powerpoint r ggplot2 officer

ggplot2我正在尝试在带有包的幻灯片幻灯片中绘制图表officer。我实际上可以做到这一点(ggplot2直接在 ppt 中打印),但是因为我需要增加图形的大小ggplot2(对于 ppt 幻灯片),并且我知道ggplot2图形取决于窗口的大小(在 中RStudio)或无论您将其设置为导出它,我都在寻找一种方法来(1)导出具有给定大小的 ggplot2 图形(例如:height=5, width=8),(2)从 ppt 代码导入/读取:

library(officer)
library(devEMF)
library(magrittr)
library(ggplot2)

t <- "../example.pptx"
filename <- gg

read_pptx() %>% 
  add_slide(layout = "Title and Content", master = "Office Theme") %>% 
  ph_with_img(src = filename, width = 6, height = 4, type = "body") %>% 
  print(target = t)
Run Code Online (Sandbox Code Playgroud)

gg是 ggplot2 中的任何图(实际上并不重要)。t是输出文件地址。

ph_with_img

PowerPoint 文档和图形

PD:如果有一些我不知道的包/命令并且我仍然找不到,我可以在其中编辑 ggplot2 的大小,那么所有这些都是不必要的。

Tom*_*ers 5

export我刚刚制作了一个在此基础上构建的新包,officer可以轻松地使用该命令来执行此操作graph2ppt(),并且它可以很好地以矢量格式导出,而不是上面发布的其他答案中的位图,例如

install.packages("export")
library(export)
library(ggplot2)
qplot(Sepal.Length, Petal.Length, data = iris, color = Species, 
      size = Petal.Width, alpha = I(0.7))     
graph2ppt(file="plots.pptx", width=6, height=5) 
Run Code Online (Sandbox Code Playgroud)