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
尝试使用 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