首页 > 解决方案 > Qt 平台插件问题 Rstudio

问题描述

我正在尝试通过 RStudio 绘制海生热图。

reticulate在 R 中使用包。

下面是我的代码:

library(reticulate)
use_condaenv("python36", conda = "auto", required = FALSE)
os <- import("os")
os$listdir(".")
py_available()


sns <- import('seaborn')
plt <- import('matplotlib.pyplot')
pd <- import('pandas')


dat <- AirPassengers
# convert time series to data frame
dat <- data.frame(matrix(dat, ncol=frequency(dat), dimnames=dimnames(.preformat.ts(dat)) ))
dat
sns$heatmap(r_to_py(dat), fmt = "g", cmap = "viridis")
plt$show()

但是,我收到以下错误,并且我的 R 会话在到达 seaborn 热图线时被中止。我应该怎么做才能修复这个错误?

Qt 错误

标签: pythonrqtrstudioreticulate

解决方案


我在 RStudio 每日构建 1.2.114 和matplotlib安装了 PyTorch 的 Anaconda Python 3.7 环境中遇到了同样的问题。

我按照@Sheperd 的说明进行了以下更改,指向您matplotlib安装的环境;就我而言pytorch37

import matplotlib
import matplotlib.pyplot as plt
import numpy as np

import os
os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = 'C:/Users/user_name/Anaconda3/envs/pytorch37/Library/plugins/platforms'

t = np.arange(0.0, 2.0, 0.01)
s = 1 + np.sin(2 * np.pi * t)

fig, ax = plt.subplots()
ax.plot(t, s)

ax.set(xlabel='time (s)', ylabel='voltage (mV)',
       title='About as simple as it gets, folks')
ax.grid()

plt.show()

现在,PyQt找到并且RStudio不再崩溃。


推荐阅读