r语言 - 禁用绘图的缓存



我正在尝试破解某种使用通过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,但我希望有一种更编程的方式。

好的,事实证明我不得不使用opts_hooks而不是knit_hooks.这有效:

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

最新更新