knitr 移除 "before.plot.new" 个钩子

knitr removes "before.plot.new" hooks

尝试使用 plot.new 函数中的 before.plot.new 挂钩设置永久选项。它适用于在屏幕上和各种文件类型中绘图。然而,这些设置在 r-markdown 中被忽略了。

这是一个小例子,用 las:

改变轴标签的方向
hook <- getHook("before.plot.new")
hook$par <- function() par(las=1)
setHook("before.plot.new", hook, "replace")

plot(1)

但是在 r-markdown 中和 knit("markdown.md") 之后:

```{r}
hook <- getHook("before.plot.new")
hook$par <- function() par(las=1)
setHook("before.plot.new", hook, "replace")

plot(1)
```

然而,如果我们使用另一个钩子来做同样的事情 plot.new - 一切似乎都按预期工作。

是否 knitr 擦除 before.plot.new 的内容?

这是由于 r-lib evaluate 包中的设计决定。已在最新版本中更改。

这里是 GitHub 存储库中的相关问题以获取更多详细信息:https://github.com/yihui/knitr/issues/1684