【发布时间】:2021-07-30 00:41:09
【问题描述】:
两个 {python} 块使用 matplotlib 生成绘图。如果我在它们之间放置一个 {r} 块,则 knitr 将第一个图替换为第二个。有人知道如何解决此问题吗?
最小示例 Rmd 文件:
---
title: "Error demo"
date: "`r Sys.Date()`"
---
```{r setup, include=FALSE}
library(reticulate)
use_condaenv('/Users/XXXX/opt/anaconda3/envs/r-env1', required = TRUE)
```
```{python, echo=FALSE}
import matplotlib.pyplot as plt
plt.plot([4,1,2,0],'r-')
```
```{r, echo = FALSE}
# an r chunk between the python chunks suppresses the first plot
```
```{python, echo=FALSE}
plt.plot([0,2,1,4],'g-')
```
构建输出包含第二个绘图的两个版本。这是 HTML 输出的相关部分:
<div id="header">
<h1 class="title">Error demo</h1>
<p class="date" style="margin-top: 1.5em;"><em>2021-05-07</em></p>
</div>
<p><img src="MIB-R_files/figure-html/unnamed-chunk-1-1.png" width="672" /></p>
<p><img src="MIB-R_files/figure-html/unnamed-chunk-1-1.png" width="672" /></p>
版本信息:
- MacOS:达尔文 20.3.0
- Python:3.9.2 |由 conda-forge 打包
- RStudio:1.4.1106
- 降价:2.8
- 针织机:1.33
- 网状:1.20
【问题讨论】:
-
您是否尝试为每个块指定唯一标识符,即
{r c1, echo = FALSE} -
刚刚试了一下,结果一样。
标签: python r r-markdown knitr bookdown