1

如何用 R 绘图填充整个 PowerPoint 幻灯片?我想使用矢量图形(否则截图和裁剪将是一个解决方案)。我也想避免手动触摸。

以下代码(摘自这篇文章)在填充“标题和内容”幻灯片的“内容”方面做得非常好。

library( ReporteRs )
require( ggplot2 )
mydoc = pptx( )
mydoc = addSlide( mydoc, slide.layout = "Title and Content" )
mydoc = addTitle( mydoc, "Plot examples" )
myplot = qplot(Sepal.Length, Petal.Length
               , data = iris, color = Species
               , size = Petal.Width, alpha = I(0.7)
)
mydoc = addPlot( mydoc, function( ) print( myplot ), vector.graphic=TRUE)
writeDoc( mydoc, file = "test plot.pptx" )

我想我也许可以使用以下代码填充整张幻灯片:

library( ReporteRs )
require( ggplot2 )
mydoc = pptx( )
mydoc = addSlide( mydoc, slide.layout = "Blank" )
#mydoc = addTitle( mydoc, "Plot examples" )
myplot = qplot(Sepal.Length, Petal.Length
               , data = iris, color = Species
               , size = Petal.Width, alpha = I(0.7)
)
mydoc = addPlot( mydoc, function( ) print( myplot ), vector.graphic=TRUE)
writeDoc( mydoc, file = "test plot.pptx" )

但是,我收到错误消息:

Error in next_shape_pos(doc) : 
  shape of type 'plot' has no more room left to be displayed in the layout

我认为可能有一个解决方案,我创建新的 PowerPoint 幻灯片布局,内容填充整个幻灯片,然后另存为 PowerPoint 模板?但我对这些东西不是很熟悉,我开始觉得我错过了一些明显的东西。

4

1 回答 1

2

你已经有效地回答了你自己的问题。您需要在 PowerPoint 中创建一个具有新布局的模板,该布局具有一个填充幻灯片的内容占位符。

在 PowerPoint 2016 中,您将执行以下操作:

  • 文件 -> 新建 -> 空白演示文稿
  • 删除第一张(也是唯一一张)幻灯片
  • 查看 -> 幻灯片母版
  • 幻灯片母版 -> 插入布局
  • 删除此布局上的所有现有占位符
  • 幻灯片母版 -> 插入占位符 -> 内容
  • 调整新占位符的大小以填充幻灯片
  • 右键单击左侧布局列表中的布局
  • 重命名布局
  • “整页内容”
  • 文件 -> 另存为 -> 浏览
  • 选择演示模板的位置和名称(例如“Documents/R/BlankPresentation.pptx”)

现在运行以下 R 代码:

library(ReporteRs)
library(ggplot2)
mydoc <- pptx(template = "path to presentation template saved above")
mydoc <- addSlide(mydoc, slide.layout = "Full page content")
myplot <- qplot(
  Sepal.Length,
  Petal.Length,
  data = iris,
  color = Species,
  size = Petal.Width,
  alpha = 0.7
)
mydoc <- addPlot(mydoc, function() print(myplot), vector.graphic = TRUE)
writeDoc(mydoc, file = "test plot.pptx")
于 2017-03-20T00:27:47.913 回答