如何使用R图填充整个PowerPoint幻灯片?我想使用矢量图形(否则截图和裁剪将是一个解决方案)。我也想避免手动触摸。
以下代码(从this post抓取)可以很好地填写“标题和内容”幻灯片的“内容”。
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模板?但是我对这些东西并不是很熟悉,我开始觉得我错过了一些明显的东西。
答案 0 :(得分:2)
您已经有效地回答了自己的问题。您需要在PowerPoint中使用新布局创建模板,该布局具有填充幻灯片的单个内容占位符。
在PowerPoint 2016中,您将执行以下操作:
现在运行以下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")