用rpy发送到X11的情节突然关闭?

问题描述 投票:1回答:2

我正在使用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。

python x11 graphing rpy2
2个回答
4
投票

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

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


3
投票

正如Zack所指出的那样,在交互式图形设备上调用dev.off()只会导致设备关闭(以及它显示的内容会消失)。另一方面,在检查绘图之前,通常需要关闭非交互设备(请参阅rpy2's documentation on graphical devices)。

我猜你的Python代码被称为独立的程序/脚本而不是交互式Python会话的一部分。换句话说,我怀疑你在shell中有类似python myscript.py的东西(myscript.py的内容是你上面的代码);当脚本结束时,嵌入式R显然被终止,并带有交互式图。这也许是扎克的想法。尝试python -i myscript.py,然后在Python控制台import sys; sys.exit(0)中查看退出Python意味着关闭R交互设备。

© www.soinside.com 2019 - 2024. All rights reserved.