Python代码块图未显示在R Markdown中

时间:2017-12-07 07:41:56

标签: python r r-markdown

我需要在R Markdown HTML中包含Python代码块。但是,当我这样做时,情节不会出现。

这是我想要实现的代码块。我知道这适用于Python。

```{python, results='asis'}
import numpy as np
import matplotlib.pyplot as plt
import numpy.random as rng
import matplotlib.cm as cm
from matplotlib.animation import FuncAnimation

radii=(rng.random(int(1e3))+1)**2
iota=2*np.pi*rng.random(int(1e3))
x_posit=np.sqrt(radii)*np.cos(iota)
y_posit=np.sqrt(radii)*np.sin(iota)
plt.plot(x_posit, y_posit, 'go')
```

I expect to get a plot like this

But instead I get this,这不是R降价文档中的图表。我正在编织HTML

2 个答案:

答案 0 :(得分:3)

通过reticulate安装库install.packages("reticulate")并在上面显示的代码之前加载此块:

```{r setup, include=FALSE}
library(knitr)
library(reticulate)
knitr::knit_engines$set(python = reticulate::eng_python)
```

```{python}
import numpy as np
import matplotlib.pyplot as plt
import numpy.random as rng
import matplotlib.cm as cm
from matplotlib.animation import FuncAnimation

radii=(rng.random(int(1e3))+1)**2
iota=2*np.pi*rng.random(int(1e3))
x_posit=np.sqrt(radii)*np.cos(iota)
y_posit=np.sqrt(radii)*np.sin(iota)
plt.plot(x_posit, y_posit, 'go')

plt.show()
```

请注意plt.show()命令。

这将产生您的预期输出!

enter image description here

答案 1 :(得分:0)

上面的J_F完全一样。提醒一下:如果您的系统上有多个Python版本,例如装有Python 2.7和3.x的Mac。

```{r setup, include=FALSE}
Library(knitr)
Library(reticulate)
knitr::knit_engines$set(python3 = reticulate::eng_python)

```{python3}
enter code here
```