Графики, сделанные с использованием rpy, отправленные на X11, внезапно закрываются?

StackOverflow https://stackoverflow.com//questions/12655771

  •  11-12-2019
  •  | 
  •  

Вопрос

Я использую 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 возвращает ListVector, который не равен null.

Это было полезно?

Решение

Добавить

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

к концу скрипта, чтобы предотвратить окончание программы, пока пользователь не нажимает ввод.

Другие советы

Как указал на это Зак, позвонив dev.off() на интерактивных графических устройствах это просто приведет к закрытию устройства (и исчезновению того, что оно отображает).С другой стороны, в основном требуется закрыть неинтерактивные устройства, прежде чем можно будет проверить график (см. документация rpy2 по графическим устройствам).

Я предполагаю, что ваш код на Python вызывается как отдельная программа / скрипт, а не как часть интерактивного сеанса на Python.Другими словами, я подозреваю, что у вас происходит что-то вроде python myscript.py в оболочке (содержимое myscript.py являющийся вашим кодом выше);когда сценарий завершается, встроенный R, очевидно, завершается, забирая с собой интерактивный сюжет.Вероятно, это тоже то, о чем думает Зак.Попробуй python -i myscript.py, а затем один раз в консоли Python import sys; sys.exit(0) чтобы увидеть, что выход из Python означает закрытие R interactive devices.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top