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