禁用图表

时间:2018-05-21 15:03:00

标签: r knitr

我正在尝试通过knitr生成数字来自动生成pptx的一些方法,并想知道是否有一种方法只能为生成绘图的块禁用cache。当有像这样的标题时,我试图将缓存设置为false:

knitr::knit_hooks$set(fig.cap = function(options) {
   options$cache <- FALSE
   options
})

但它不起作用(可能在此之前评估cache选项)。

我也尝试在plot挂钩中设置它,但没有结果。

knit_plot <- knitr::knit_hooks$get("plot")

knitr::knit_hooks$set(plot = function(x, options) {
   options$cache <- FALSE
   read_pptx(pptfile)  %>% 
      add_slide(layout = "figure", master = "Office Theme") %>% 
      ph_with_gg(last_plot(), type = "pic") %>% 
      print("pptprueba.pptx")
   knit_plot(x, options)
})

当然我可以手动设置cache = FALSE,但我希望以更加编程的方式进行操作。

1 个答案:

答案 0 :(得分:2)

好的,事实证明我必须使用opts_hooks而不是knit_hooks。这有效:

knitr::opts_hooks$set(fig.cap = function(options) {
   options$cache <- FALSE
   options
})