将图添加到R中的ppt

时间:2016-06-22 20:59:07

标签: r ggplot2 reporters

使用reportRs pacakge,我试图添加几个名为(例如.png / .jpg)的图形。 test-0,test-1,test-2等到pptx文件中。这些图表是从一个名为egf的pdf中提取的。使用im.convert函数进行测试。我可以单独添加它们,但不能自动化循环中的图形,标题,幻灯片编号,日期等代码,这可以通过“测试”来计算出多少个图形。 name存在于一个文件夹中,然后在一个新的幻灯片和一个最终的pptx文件中逐个导入它们在pptx中。

示例代码:

library(animation)
im.convert("Test.pdf", output = "Test.png", extra.opts="-density 150")

library("ReporteRs")
doc <- pptx()
doc <- pptx(template = templateDir)
doc <- addSlide( doc, slide.layout = 'Competative Landscape' )
doc <- addTitle(doc, paste("Test-0"))
doc <- addImage(doc, "Test-0.png")
:
:

:
:

doc <- addSlide( doc, slide.layout = 'Competative Landscape' )
doc <- addTitle(doc, paste("Test-3"))`enter code here`
doc <- addImage(doc, "Test-3.png")

2 个答案:

答案 0 :(得分:2)

您可以尝试使用list.files函数在文件夹中查找名为Test的png文件的数量。 示例代码:

list_of_files=list.files(path = "C:/output_folder", pattern = c("Test",".png"))
library("ReporteRs")
doc <- pptx()
doc <- pptx(template = templateDir)
for( i in 0:(length(list_of_files)-1))
{
  doc <- addSlide( doc, slide.layout = 'Competative Landscape' )
  doc <- addTitle(doc, paste0("Test-",i))
  doc <- addImage(doc, paste0("Test-",i,".png"))
}  

答案 1 :(得分:0)

您也可以尝试使用eoffice软件包:

install.package("eoffice")
fig<-infigure("figes",savegg=T)
topptx(fig,file="test.pptx")
##or 
infigure("figs",showfig=T)
topptx(fig,file="test.pptx")