我正在写一个情节的解释,我基本上将在第一个块中创建该图,然后描述该输出,并在第二个块中添加一个轴。
然而,似乎每个块都会强制一个新的绘图环境,所以当我们尝试单独使用 axis
运行一个块时会出错。观察:
---
output: html_document
---
```{r first}
plot(1:10, 1:10, xaxt = "n")
```
Look, no x axis!
```{r second}
axis(side = 1, at = 1:10)
```
显然,这是具有相同输出的有效解决方法:
---
output: html_document
---
```{r first}
plot(1:10, 1:10, xaxt = "n")
```
Look, no x axis!
```{r second, eval = FALSE}
axis(side = 1, at = 1:10)
```
```{r second_invisible, echo = FALSE}
plot(1:10, 1:10, xaxt = "n")
axis(side = 1, at = 1:10)
```
但这不太理想(重复的代码,必须对情节进行两次评估等)
This 问题是相关的——例如,我们可以排除
second
块并在 echo = -1
块上设置 second_invisible
(这也不适用于我的应用程序,但我不想在这里使事情过于复杂)有没有像
dev.hold
这样的选项可以发送到第一个块? 最佳答案
您可能会考虑使用 recordPlot
---
output: html_document
---
```{r first}
plot(1:10, 1:10, xaxt = "n")
x<-recordPlot()
```
Look, no x axis!
```{r second}
replayPlot(x)
axis(side = 1, at = 1:10)
```
来源:
R: Saving a plot in an object
R plot without showing the graphic window
https://stat.ethz.ch/R-manual/R-devel/library/grDevices/html/recordplot.html
关于r - 在多个块上拆分绘图调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37189068/