在官员幻灯片中R对象的自定义位置?

时间:2019-07-18 09:23:00

标签: r officer

有时,我需要将项目放在幻灯片上的特殊位置(幻灯片模板中未定义)。我使用了很棒的Officer包。

已经有ph_location_left(),ph_location_right()等,我想我可以定义自己的ph_location_custom()。

这是MWE。我使用了更多职位(具有依赖项),这就是为什么我想要一个自定义函数。

library(officer)

ph_location_custom <- function(where) {
  if (where=="A") return(list(left=1, top=1, width=4, height=3, ph_label="", ph=NA_character_, bg=NULL, rotation=NULL))
  if (where=="B") return(list(left=2, top=1, width=1, height=3, ph_label="", ph=NA_character_, bg=NULL, rotation=NULL))
}
# Test seems to work:
ph_location_custom("A")%in%ph_location(width=4, height=3)
# [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
my_pptx <- read_pptx()
my_pptx <- add_slide(x=my_pptx, layout="Title and Content", master="Office Theme")
# This works:
my_pptx <- ph_with(x=my_pptx, value="Hello world",
                   location=ph_location(width=4, height=3))
# This fails:
my_pptx <- ph_with(x=my_pptx, value="Hello world",
                   location=ph_location_custom("A"))

错误消息太长,无法在此处包含。我怀疑我必须在名称空间或类似名称中包含某些内容,但这超出了我的编程技能。

缺少什么?用另一种方法也许更好?

0 个答案:

没有答案