문제

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 세션의 일부가 아닌 독립 실행 형 프로그램 / 스크립트로 호출되었음을 추측하고 있습니다.즉, 쉘에서 python myscript.py (myscript.py의 코드가 위의 코드의 내용)가 있음을 의심합니다.스크립트가 끝나면 임베디드 R은 분명히 종료되어 대화 형 플롯을 사용해야합니다.이것은 잭이 생각하고있는 것도있을 것입니다.Python Console python -i myscript.py에서 Python Console import sys; sys.exit(0)를 시도하여 Python을 종료하는 것을 확인하려면 r 대화 형 장치를 닫는 것을 의미합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top