在我安装了RPY2(2.7.8版)和随附的计算机依赖项(Windows 10,Python 2.7x86)之后,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()

python - RPY2导入程序包时单独绘制的Matplotlib错误帧-LMLPHP
以下导入会出错。
# 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')

更新:
我已将问题归结为以下导入rhrv = importr('RHRV')。RHRV是R的心率分析软件包,它包含自己的绘图功能(for R)。这可能是一个令人不安的问题。
以前有人遇到过这个问题吗?出什么事了,我该怎么解决?

最佳答案

我已经就这个问题联系了R-packageRHRV的开发人员。他们告诉我的
RHRV使用tkrplot库,它使用Tk小部件。可能这与您的python模块有冲突。
虽然我找不到matplotlib确实使用了Tk小部件,但我确实发现matplotlib可以与Tk结合使用(例如http://matplotlib.org/examples/user_interfaces/embedding_in_tk)。这可能是阴谋问题的原因。
我能想到的唯一解决办法是在您导入RHRV后不要绘制。首先计算并保存数据。然后,在另一个脚本中,你可以制作情节。另外,还有专门针对Python的HRV分析包(gHRV or hrv)。但是,我不能让gHRV工作,hrv包,到目前为止,还不完整。

08-24 19:53