首页 > 解决方案 > 在给定大小的 power point 幻灯片中绘制 ggplot2 图形 - R

问题描述

我正在尝试ggplot2在带有officer包装的电源点幻灯片中绘制图表。我实际上可以做到(ggplot2直接在 ppt 中打印),但是因为我需要增加ggplot2图表的大小(对于 ppt 幻灯片),并且我知道ggplot2图表取决于窗口的大小(in 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)

gg是来自 ggplot2 的任何情节(实际上并不重要)。t是输出文件地址。

ph_with_img

PowerPoint 文档和图形

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

标签: rggplot2powerpointofficer

解决方案


我刚刚制作了一个基于它的新包exportofficer可以轻松地使用命令执行此操作,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) 

推荐阅读