#r #plot #r-markdown #hook #knitr
#r #график #r-markdown #крючок #knitr
Вопрос:
Попытался установить постоянную опцию, используя before.plot.new
крючки в 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
?
Ответ №1:
Это было связано с дизайнерским решением в r-lib
evaluate
пакете. Уже изменено в новейшей версии.
Вот соответствующая проблема в репозитории GitHub для получения более подробной информации: https://github.com/yihui/knitr/issues/1684