我正在尝试使用R-Markdown文件(RMarkdown到pdf)运行python代码。
我到目前为止所取得的成就- 1-我可以使用knitr和网状库配置python引擎 2-我能够执行我的python代码。
我尝试过的- 1-我尝试了本论坛中讨论的所有方法,但没有任何结果。 2-我也尝试保存图像(as one of the posts here suggests),但是那也不起作用。 我的问题-
1-当我尝试使用matlplotlib和命令plt.imshow()和plt.show()绘制图形时,它没有在输出中打印图像。而是在单独的窗口中显示图像。您可以在所附的图像中看到我的结果。
这是我的代码
```{r setup, include=FALSE}
library(knitr)
library(reticulate)
knitr::knit_engines$set(python = reticulate::eng_python)
```
```{python}
import numpy as np
import os
import torch
import torchvision.datasets as dsets
import matplotlib.pyplot as plt
print(os.getcwd())
os.chdir('D:\\1st year\\Python codes\\CIFR Analysis\\self contained analysis')
print(os.getcwd())
train_mnist = dsets.MNIST("../data", train=True)
test_mnist = dsets.MNIST("../data", train= False)
print(len(train_mnist))
#print(train_mnist[0][0])
plt.imshow(train_mnist[0][0], cmap="gray")
#plt.savefig("trainzero.png")
plt.show()
```
请帮我解决此问题,因为我想使用R markdown文件编译python代码。
谢谢
答案 0 :(得分:0)
因此,使用R Markdown,您必须做一些不同的事情。在下面,我有一个通过串联两个序列创建的数据框。 Jupyter Notebook中的原始绘图代码如下,并刚刚打印出该系列。
# make a plot of model fit
train.plot(figsize=(16,8), legend=True)
backtest.plot(legend=True);
但是,它不适用于R Markdown。然后,使用绘图,您总是必须分配它们,并使用下面的代码,您将获得相同的绘图。
dfreg = pd.concat([reg, backtest], axis = 1)
ax = dfreg.plot(figsize=(16,8), legend = True)
ax1 = predictions.plot(legend=True)
plt.show()
这与其他绘图功能(例如plot_acf()
)也很常见。