Wie lasse ich das Grafikfenster von gnuplot-x11 geöffnet, bis es manuell geschlossen wird?


21

So bleibt beispielsweise das gnuplot-x11Diagrammfenster geöffnet, bis eine Taste gedrückt wird:

gnuplot -e "plot \"file\" ; pause -1 \"text\""

Wie kann ich es offen halten, bis es manuell geschlossen wird?

Antworten:


27

Verwenden Sie die Option -poder --persist:

gnuplot --persist -e 'plot sin(x)'

Dadurch bleibt das Fenster geöffnet, bis es manuell geschlossen wird. Von der Manpage :

-p,  --persist  lets  plot  windows  survive after main gnuplot program
                exits.

2
wie Zoom nicht Arbeit mit --persist tut , ist SDsolar Antwort besser , wenn man heran braucht
lepe

Ich habe eine temporäre Plot-Datei, die ich entfernen möchte, sobald Gnuplot fertig ist (Fenster geschlossen). Mit der Option -p wird gnuplot, das von meiner Shell aufgerufen wird, sofort beendet. Vorschläge?
ReW

6

Sie können Ihr Plotprogramm in regelmäßigen Abständen aktualisieren und es in eine Live-Grafik umwandeln. Dies wird am häufigsten für Datenlogger verwendet, bei denen die Datei aktualisiert wird.

Aber in Bezug auf Ihre Frage hält es die Handlung offen, erfrischend, bis Sie drücken Ctrl-C

Fügen Sie einfach diese beiden Zeilen am Ende Ihres Plotprogramms hinzu:

pause 30
reread

Ein Vorteil dieser Methode besteht darin, dass Sie die Gnuplot-Umgebung nicht verlassen müssen, um sie zu verwenden, insbesondere beim Debuggen. Wenn Sie den Plot stoppen, kehren Sie zur Eingabeaufforderung von gnuplot zurück. Sie können !vi plotpgm.gpdas Programm weiterhin in der gnuplot-Umgebung bearbeiten und anschließend den load "plotpgm.gpBefehl zum erneuten Starten verwenden.



6

Verwenden Sie es pause mouse closeam Ende des Skripts. Auf diese Weise haben Sie die Kontrolle über das Diagramm mit der Maus und verschiedenen Tastenkombinationen, ohne zusätzliche Abfragen, im Gegensatz zu --persistoder reread.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.