Заполнить весь слайд PowerPoint графиком R?

Как я могу заполнить весь слайд PowerPoint графиком R? Я бы хотел использовать векторную графику (иначе можно было бы сделать снимок экрана и кадрирование). Также хотелось бы избежать прикосновений вручную.

Следующий код (взят из this post) отлично справляется с заполнением" Content "слайда" Title and Content ".

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? Но я не очень знаком с этим материалом и начинаю чувствовать, что упускаю что-то очевидное.


person lowndrul    schedule 19.03.2017    source источник


Ответы (1)


Вы эффективно ответили на свой вопрос. Вам необходимо создать шаблон в 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")
person Nick Kennedy    schedule 20.03.2017