【发布时间】:2020-05-06 21:57:53
【问题描述】:
我有一个使用 rpy2 创建 ggplot2 散点图的简单脚本。但是,该图并未显示。返回的绘图对象是 NoneType。这是脚本:
from rpy2 import robjects
import rpy2.robjects as ro
from rpy2.robjects.lib import grid
from rpy2.robjects.packages import importr, data
import rpy2.robjects.lib.ggplot2 as ggplot2
rprint = robjects.globalenv.find("print")
stats = importr('stats')
grdevices = importr('grDevices')
base = importr('base')
datasets = importr('datasets')
grid.activate()
mtcars = data(datasets).fetch('mtcars')['mtcars']
gp = ggplot2.ggplot(mtcars)
pp = gp + ggplot2.aes_string(x='wt', y='mpg') + \
ggplot2.geom_point()
print('type(pp):',type(pp))
fig = pp.plot()
print('type(fig):',type(fig))
pp.plot()
我可以将图形保存为 png 文件,因此大部分代码都可以正常工作。在解决此问题时,我尝试使用多个版本的 rpy2,结果各不相同:
- 版本 3.0.1 和 3.0.2 -- 图形闪烁、程序崩溃和绘图对象为 NoneType
- 版本 3.0.3 -- 空白画布闪烁、程序崩溃和绘图对象为 NoneType
- 版本 3.0.4 和 3.0.5 -- 图形闪烁、程序崩溃和绘图对象为 NoneType
- 版本 3.1.0 和 3.2.0 -- 不显示图形,绘图对象为 NoneType
- 版本 3.2.1 到 3.2.4 -- rpy2 无法使用 pip 安装
我还阅读了线程 here 并点击了那里建议的链接,但我无法根据我的问题调整建议的操作。
为了完整起见,以下是我使用的环境的详细信息:Python 3.7.5、R 版本 3.6.0、MacOS Catalina 版本 10.15.2。
【问题讨论】:
标签: r python-3.x macos rpy2 python-ggplot