Domanda

Sto usando RPY2 per realizzare alcune trame.La trama si presenta ma la finestra X11 scompare immediatamente.

Tutto ciò che sto digitando è il seguente, dove ccfs è una matrice di dati

 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.
.

Sto non riuscendo a includere qualcosa?So che c'è qualcosa da tracciare perché Princomp restituisce un elenco che non è nullo.

È stato utile?

Soluzione

Aggiungi

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

fino alla fine dello script per evitare che il programma finisca fino a quando l'utente preme ENTER.

Altri suggerimenti

Come Zack ha sottolineato la chiamata dev.off() su dispositivi grafici interattivi, causare il chiusura del dispositivo (e ciò che viene visualizzato per scomparire).D'altra parte, la chiusura dei dispositivi non interattivi è per lo più necessaria prima che la trama possa essere controllata (vedere Documentazione di RPY2 sui dispositivi grafici ).

Sto indovinando che il tuo codice Python sia chiamato come programma / script standalone piuttosto che parte di una sessione di Python interattiva.In altre parole, sto sospetto che tu stia avendo qualcosa come python myscript.py in una shell (il contenuto di myscript.py è il tuo codice sopra);Quando lo script termina che l'incorporato è ovviamente terminato, prendendo con sé la trama interattiva.Questo è probabile anche quello che sta pensando Zack.Prova python -i myscript.py, e poi una volta nella console Python import sys; sys.exit(0) per vedere che in uscita Python significa chiudere i dispositivi interattivi di chiusura.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top