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

标签 python python-2.7 matplotlib rpy2

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

enter image description here

以下导入会出错。

# 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')

更新:
我已将问题追溯到以下 import rhrv = importr('RHRV')。 RHRV是R的一个心率分析包,里面有自己的绘图函数(for R)。这可能是令人不安的问题。

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

最佳答案

我已就此问题联系 R 包 RHRV 的开发人员。他们告诉我

RHRV makes use of the tkrplot library, which makes use of Tk widgets. Maybe this is interferring with your python module.

虽然我无法发现 matplotlib 确实使用了 Tk 小部件,但我确实发现 matplotlib 可以与 Tk 结合使用(例如 http://matplotlib.org/examples/user_interfaces/embedding_in_tk )。这可能是绘图问题的原因。

我能想到的唯一解决方案是在导入 RHRV 时不绘制。首先计算并保存数据。然后,在另一个脚本中,您可以制作情节。或者,有专门针对 Python 的 HRV 分析包 (gHRV or hrv)。但是,我无法让 gHRV 工作,而且 hrv 包目前还不完整。

关于python - RPY2导入包时Matplotlib错误帧单独绘制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40379183/

相关文章:

python - 我怎样才能在 python 中阅读 pdf?

python - 在 matplotlib 轴中向指数添加 + 号

layout - matplotlib:获取子图布局?

python - 为使用 plt.fill 制作的绘图创建颜色条

python - 使用 PyCapture2 读取 MONO 16 位图像

python - Django 错误 admin.E033 : username is not an attribute of users. 自定义用户。为什么我的自定义用户管理不起作用?

python - 带有列表的字典自定义相等性检查

python - 无法导入不同Python版本的库

python - 使用 app.yaml 在 GAE 中安全地存储环境变量

python - 如何在 matplotlib 中绘制特定日期的垂直线