2

我无法import matplotlib.pyplot as plt在 Rstudio 中。

我尝试了 SO 上已有的解决方案。

这是我的尝试:

我安装了网状包 devtools 安装方式。 devtools::install_github(rstudio/reticulate)

library(reticulate)

repl_python()

import matplotlib.pyplot as plt

import numpy as np

x = np.linspace(0,10, 100) plt.plot(x, x, label = "linear") plt.legend() plt.show()

我收到以下错误 - RuntimeError: module compiled against API version 0xb but this version of numpy is 0xa ImportError: numpy.core.multiarray failed to import

我也尝试过 RMarkdown。

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(knitr)
library(reticulate)
use_condaenv(condaenv = "python36", conda = "auto", required = FALSE)
```

```{python}
repl_python()
import numpy as np
import matplotlib.pyplot as plt

n = 256
X = np.linspace(-np.pi,np.pi,n,endpoint=True)
Y = np.sin(2*X)

plt.plot (X, Y+1, color='blue', alpha=1.00)
plt.plot (X, Y-1, color='blue', alpha=1.00)
plt.show()
```

收到以下错误 -

RuntimeError: module compiled against API version 0xb but this version of numpy is 0xa Traceback (most recent call last): File "C:\Users\Vidhya\AppData\Local\Temp\Rtmp6vCzV6\chunk-code-13e83c491e61.txt", line 2, in <module> import matplotlib.pyplot as plt File "C:\Anaconda3\lib\site-packages\matplotlib\pyplot.py", line 29, in <module> import matplotlib.colorbar File "C:\Anaconda3\lib\site-packages\matplotlib\colorbar.py", line 32, in <module> import matplotlib.artist as martist File "C:\Anaconda3\lib\site-packages\matplotlib\artist.py", line 15, in <module> from .transforms import (Bbox, IdentityTransform, TransformedBbox, File "C:\Anaconda3\lib\site-packages\matplotlib\transforms.py", line 39, in <module> from matplotlib._path import (affine_transform, count_bboxes_overlapping_bbox, ImportError: numpy.core.multiarray failed to import

4

1 回答 1

2

我有类似的问题。我做了以下,它解决了。在此之前,我想在我获得解决方案的以下线程中向您推荐...

Qt 平台插件问题 Rstudio

PyQt5 - 无法加载平台插件“windows”。可用平台有:windows、minimal

这是您必须做的[根据您的系统更改路径]

在 R 中:-

py_run_string("import os as os")
py_run_string("os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = 'C:/Dev/Anaconda/Library/plugins/platforms'")
np <- import("numpy", as = "np")
plt <- import("matplotlib.pyplot", as = "plt")

x <- np$linspace(0,10, 100)
plt$plot(x, x, label = "linear")
plt$legend()
plt$show()

在 repl_python 中(嵌入模式)

import matplotlib.pyplot as plt

import numpy as np

x = np.linspace(0,10, 100)
plt.plot(x, x, label = "linear")
plt.legend()
plt.show()

希望这会有所帮助......干杯

于 2018-06-28T06:44:05.567 回答