我正在使用rpy2来制作一些情节。绘图显示,但X11窗口立即消失。

我键入的是下面的,其中 ccfs 是一个数据矩阵

 import rpy2.robjects as robjects
 r = robjects.r

 pca = r.princomp(CCFS)
 r.plot(pca,main="Eigenvalues")
 r.biplot(pca,main="biplot")
 r['dev.off']() #*EDIT* the problem persists even if I remove this line.
.

我未能包括什么?我知道有些东西有点绘图,因为princomp返回一个没有null的listvector。

有帮助吗?

解决方案

add

input()         # for Python3
# raw_input()   # for Python2
.

到脚本的末尾,以防止程序结束,直到用户按Enter键。

其他提示

作为zack指出,它在交互式图形设备上呼叫生成dev.off()将导致设备关闭(以及它显示的内容消失)。另一方面,在检查绘图之前,大多需要关闭非交互式设备(请参阅 rpy2在图形设备上的文档)。

我猜测你的python代码被称为独立程序/脚本,而不是交互式Python会话的一部分。换句话说,我怀疑你在shell中有一些像生成的东西(python myscript.py的内容是上面的代码);当脚本结束时,嵌入式r明显终止,带有交互式绘图。这可能也很可能是什么思考。尝试myscript.py,然后在Python控制台生成播码代码中查看退出Python意味着关闭R交互式设备。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top