Frage

Ich verwende RPy2, um einige Diagramme zu erstellen.Der Plot wird angezeigt, aber das X11-Fenster verschwindet sofort.

Ich tippe nur Folgendes: wo CCFS ist eine Datenmatrix

 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.

Versäume ich es, etwas aufzunehmen?Ich weiß, dass es etwas zu zeichnen gibt, weil princomp einen ListVector zurückgibt, der nicht null ist.

War es hilfreich?

Lösung

fügen Sie hinzu generasacodicetagpre.

bis zum Ende des Skripts, um zu verhindern, dass das Programm nicht endet, bis der Benutzer eingeht.

Andere Tipps

Als Zack darauf hinwies, rief er an dev.off() Auf interaktiven grafischen Geräten führt dies lediglich dazu, dass das Gerät geschlossen wird (und die angezeigten Inhalte verschwinden).Andererseits ist das Schließen nicht interaktiver Geräte meist erforderlich, bevor die Handlung überprüft werden kann (siehe Dokumentation von rpy2 zu grafischen Geräten).

Ich vermute, dass Ihr Python-Code als eigenständiges Programm/Skript aufgerufen wird und nicht als Teil einer interaktiven Python-Sitzung.Mit anderen Worten: Ich vermute, dass Sie so etwas haben python myscript.py in einer Shell (der Inhalt von myscript.py ist Ihr Code oben);Wenn das Skript endet, wird das eingebettete R offensichtlich beendet und damit auch die interaktive Handlung.Das ist wahrscheinlich auch das, was Zack denkt.Versuchen python -i myscript.py, und dann einmal in der Python-Konsole import sys; sys.exit(0) um zu sehen, dass das Beenden von Python das Schließen interaktiver R-Geräte bedeutet.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top