Python RPY2导入包时单独绘制Matplotlib错误帧

Python RPY2导入包时单独绘制Matplotlib错误帧,python,python-2.7,matplotlib,rpy2,Python,Python 2.7,Matplotlib,Rpy2,在我的计算机上安装了RPY2(2.7.8版)及其附带的依赖项(Windows 10、Python 2.7 x86)之后,Matplotlib(1.5.3版)似乎已经损坏。即使是最简单的绘图,框架和窗口也会彼此分开: series1 = pd.Series(np.arange(500)) series2 = series1*-1 plt.plot(series1,series2) # OUT: [<matplotlib.lines.Line2D object at 0x185F4A50&g

在我的计算机上安装了RPY2(2.7.8版)及其附带的依赖项(Windows 10、Python 2.7 x86)之后,Matplotlib(1.5.3版)似乎已经损坏。即使是最简单的绘图,框架和窗口也会彼此分开:

series1  = pd.Series(np.arange(500))
series2 = series1*-1
plt.plot(series1,series2)
# OUT: [<matplotlib.lines.Line2D object at 0x185F4A50>]
plt.show()
更新:
我已将问题追溯到以下导入
rhrv=importr('rhrv')
。RHRV是R的一个心率分析软件包,它包括自己的绘图功能(用于R)。这可能是一个令人不安的问题


以前有人遇到过这个问题吗?出了什么问题,我该如何解决?

关于这个问题,我已经联系了R-package
RHRV
的开发人员。他们告诉我

RHRV使用tkrplot库,该库使用Tk小部件。可能这会干扰您的python模块

虽然我找不到matplotlib确实使用Tk小部件,但我确实发现matplotlib cán可以与Tk结合(例如)。这可能是绘图问题的原因


我能想到的唯一解决方案是在导入RHV后不进行绘图。首先计算并保存数据。然后,在另一个脚本中,您可以进行绘图。另外,还有专门针对Python()的HRV分析包。然而,我无法使gHRV工作,并且hrv包到目前为止还不完整

如果你能提供一些“假”数据,我们可以用这些数据来重现问题,那将是很有帮助的。@Koga是的。这在过去几周内已经发生了好几次。它似乎与数据类型无关。我将在帖子中添加一些数据。当您正常运行脚本
pythonscript.py
时,是否会遇到同样的问题?Shell可能会使用一些函数(使生活更简单),这会导致问题的出现。我已经重新安排了整个问题。显然,当一些进口品消失时,问题不会继续存在。我现在正试图通过反复试验来确定问题。@RobinKramer-
rpy2
本身没有触及matplotlib命名空间,但可能发生的情况是,R包RHRV正在导入与matplotlib中的C级代码冲突的C库。
# general
import os
from os import path # necessary for check file-overwrite
import calendar
import datetime
import csv
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import imp

# cvxEDA
from scipy import signal
citi = imp.load_source('cvxeda', 'D:\\Python27\\Lib\\cvxEDA\\src\\cvxEDA.py')

#RPY and RHRV
import rpy2
import rpy2.robjects as robjects
import rpy2.robjects.packages as rpackages
from rpy2.robjects.packages import importr# This step is importing the R package in the embedded R,
# and is exposing all R objects in that package as Python objects
# import R's "base" package
base = importr('base')
# import R's "utils" package
utils = importr('utils')
# select a mirror for R packages
utils.chooseCRANmirror(ind=1) # select the first mirror in the list
rhrv = importr('RHRV')