使用“ ph_with_vg_at” R函数将图形嵌入到现有的pptx幻灯片中

时间:2018-08-05 20:19:40

标签: r powerpoint rvg

我有一个R应用程序,可以通过Office工具(pptx)构建大量的客户端可编辑图表。我尝试将ggplot图嵌入矢量格式的现有切片中。我使用ph_with_vg_at函数将图形导出到pptx。关键是将图形导出到pptx会删除幻灯片上已经存在的所有元素。然后如何在不删除幻灯片上信息的情况下将图形导出到幻灯片?

谢谢 乔尼

2 个答案:

答案 0 :(得分:0)

如果您了解语法,那将变得很简单... 让我们以一个简单的ggplot为例:

require("officer")
require("rvg")
require("ggplot2")

gg <- ggplot(mtcars, aes(x = mpg , y = wt, colour = qsec)) + geom_point() + theme_minimal()

选项1: 打开现有的演示文稿并插入一个新对象(同时删除演示文稿中的对象):

doc <- read_pptx() # Creat a virtual new pptx and set the ggplot as a new slide
doc <- add_slide(doc, layout = "Title and Content", master = "Office Theme")
doc <- ph_with_vg(doc, code =print(gg),type = "body")


print(doc, target = "G:/Layers/gg.pptx") # Exporting to Exist pptx file

选项2: 打开现有演示文稿并将对象嵌入到现有幻灯片中,而不删除幻灯片上的现有对象:

doc <- read_pptx(path = "G:/Layers/template.pptx")# Opening an Exist pptx file


doc <- on_slide( doc, index = 1)# Embedding of the ggplot into the slide
doc <- ph_with_vg_at(doc, ggobj = gg, left=0.1, top=0.1, width=7.5, height=6)

   print(doc, target = "G:/Layers/template.pptx")# Exporting to Exist pptx file

乔尼

答案 1 :(得分:0)

尝试办公室:

install.packages("eoffice")
library(eoffice)
gg <- ggplot(mtcars, aes(x = mpg , y = wt, colour = qsec)) + geom_point() + theme_minimal()
topptx(gg,file="gg.pptx")