Was ich will:Pipe von Echo zu gnuplot Variable?
echo {0..2} | gnuplot --persist -e "f='{OUTPUT FROM ECHO}'" myplot.plg
0 1 2
FILE myplot.plg:
print f
#plot for [fi in f] fi.".dat" using 1 w l title sprintf(fi)
ANWENDUNG:
echo "python sim.py > "{0..2}".dat &" | bash -
echo "node sim.js > "{0..2}".dat &" | bash -
echo {0..2} | gnuplot --persist -e {Stack Overflow Magic?} myplot.plg
Ziel viele Instanzen dieser sim gleichzeitig (unterschiedliche Anfangsbedingungen zu laufen wäre) Verwenden Sie echo, um den Befehl zu erstellen, & den Prozess zu verzweigen, und bash, um es auszuführen. Sobald die Simulation abgeschlossen ist, möchte ich alle Plots in einer Figur anzeigen. Bsp .: plot {0..100} .dat nolegend
Ich glaube nicht, dass es wirklich einen vernünftigen Weg gibt, das zu tun. Als ich das letzte Mal versuchte (vor vielen Jahren), habe ich am Ende ein Here-Dokument für jeden Lauf erstellt und dieses als Skript an Gnuplot, IIRC übergeben. – tripleee
Wenn Sie Python sowieso haben, ist Matplotlib viel vielseitiger, wenn Sie nur einfaches Plotten benötigen. – tripleee
@triplee: Haben Sie gnuplot noch nicht benutzt, aber wenn Sie innerhalb eines der Flags eine Befehlsersetzungssyntax ausführen, funktioniert 'f' hier nicht? – Inian