Hi, ich habe folgendes Problem. Ich hab ein Programm geschrieben was Werte in eine Datei schreibt und mit der ich dann automatisch mit gnuplot ein Diagramm plotten lasse. Aber leider wird das Diagrammfenster gleich nach dem Öffnen wieder geschlossen. Da hab ich mir gesagt: "Ookayyy!" *stirnrunzel* und hab das Prog so umgeschrieben, dass es das Diagramm als Bild absteichert und danach automatisch öffnet. Was passiert? Na? Natürlich das gleich wie vorher auch. Das Bild schließt sich sofort wieder.
Was kann man da machen?
Bild offen halten, aber wie?
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Wenn das programm sich beendet, werden alle Prozesse die an Popen dran waren gekillt. Somit musst du dein Programm entweder offen halten, oder den Unterprozess asynchron starten.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- Python-Forum Veteran
- Beiträge: 1209
- Registriert: Montag 29. September 2003, 17:18
- Wohnort: Purkersdorf (bei Wien [Austria])
Hi!
Eine kurze Suche hier im Forum hätte die Lösung gezeigt:
Schliesst sich nicht mehr, oder?
Gruß, mawe
Eine kurze Suche hier im Forum hätte die Lösung gezeigt:
Code: Alles auswählen
import os
f = os.popen('gnuplot -persist','w')
print >> f, "plot sin(x)"
Gruß, mawe
Ich habe WinXP als OS. Und das plotten funktioniert nicht. Er öffnet das Plot-Fenster nicht, sondern nur das Hauptprogramm.
Was bedeuten eigentlich die Pfeile in:
print >> f, "plot sin(x)"
Was bedeuten eigentlich die Pfeile in:
print >> f, "plot sin(x)"
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
gnuplot unter Windows verträgt sich nicht sonderlich mit pipes. DU brauchst pgnuplot zusätzlich.Anonymous hat geschrieben:Ich habe WinXP als OS. Und das plotten funktioniert nicht. Er öffnet das Plot-Fenster nicht, sondern nur das Hauptprogramm.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Das bedeutet die Ausgabe geht nicht an die Standardausgabe sondern an das Dateiobjekt `f`. Ist also in etwa äquivalent zu folgendem:Anonymous hat geschrieben:Was bedeuten eigentlich die Pfeile in:
print >> f, "plot sin(x)"
Code: Alles auswählen
f.write('plot sin(x)\n')
f.flush()
Ich hab das mit pgnuplot jetzt mal ausprobiert, aber das Diagramm wird wieder gleich nach dem plotten geschlossen.
Ach nochwas. Wie startet man den Prozess asynchron? In der Hilfe steht was von 'nem asyncevents(), hat das was damit zu tun?
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Versuchs doch mal mit gnuplot.py.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice