我正在尝试破解一些通过knitr生成的图形自动生成pptx的方法,我想知道是否有一种方法可以只对生成绘图的块禁用cache。当有这样的标题时,我尝试将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,但我希望有一种更程序化的方式。
发布于 2018-05-21 23:26:20
好吧,事实证明我不得不使用opts_hooks而不是knit_hooks。这是可行的:
knitr::opts_hooks$set(fig.cap = function(options) {
options$cache <- FALSE
options
})https://stackoverflow.com/questions/50451592
复制相似问题