Kurze Antwort erscheint:
Das schafft einzelne Plot-Dateien für jede Datenreihe vs Spalte 1:
for i in {2..7}; do `gracebat -nosafe -hdevice PNG -printfile $i.png -block a.txt -bxy 1:$1`; done
Lange Antwort:
Wenn Sie alle Spalten (von Nummer 2 bis und einschließlich z. Spalte 7) vs Spalte 1 auf den gleichen Achsen Sie tun können:
for i in {2..7}; do echo -n " -block file.dat -bxy 1:$i"; done | xargs xmgrace
Aber da Ihre Frage für einzelne Parzellen zu fragen ist wir können dies tun:
for i in {2..7}; do echo -n " -block file.dat -bxy 1:$i" | xargs xmgrace; done
oder das, was geben Sie das gleiche Ergebnis, aber ist einfacher:
Allerdings ist dies nicht sehr praktisch, weil die indivi zwei Diagramme erscheinen nacheinander und jedes muss geschlossen werden, damit das nächste erscheint.
Es wäre besser, xmgrace im Batch-Modus laufen zu lassen und ein Bild von jedem Plot für Sie zu speichern. Sie können dies mit einer xmgrace Batch-Datei und mit der ausführbaren Datei gracebat
tun.
for i in {2..7}; do `gracebat -nosafe -batch save.bfile -block a.txt -bxy 1:$1`; done
Dies erfordert Gnade im Batch-Modus mit den gleichen Daten wie bisher, sondern läuft die Batch-Befehle in save.bfile
gespeichert, das enthält:
PRINT TO "out.ps"
PRINT
Das offensichtliche Problem dabei ist, dass jede neue Iteration überschreibt die out.ps
Postscript-Datei, da der Name der Ausgabedatei in unserer Batchdatei fest codiert ist! Sie sehen also immer nur den letzten in der Datei. Zum Glück können wir sed verwenden, um die Batchdatei jedes Mal zu ändern, bevor wir gracebat aufrufen!
for i in {2..7}; do `sed -e "s/outName/${i}/g" save.bfile > new.bfile`; `gracebat -nosafe -batch new.bfile -block a.txt -bxy 1:$1`; done
Wo save.bfile jetzt
PRINT TO "outName.ps"
PRINT
und die Zeichenfolge enthält outName
wird von $ i ersetzt.
Sie sollten nun eine Ladung von .ps-Dateien mit Ihren Plots darin haben. Spielen Sie mit der Batch-Datei herum, um mehr Dinge damit zu tun. Weitere Befehle, die Sie einschließen können, finden Sie unter this page. Sie erfahren auch, wie Sie das Ausgabedateiformat ändern können.
Alternativ können Sie zusammen mit der Batch-Dateien überspringen:
for i in {2..7}; do `gracebat -nosafe -hdevice PNG -printfile $i.png -block a.txt -bxy 1:$1`; done
Wenn Sie eine Parameterdatei haben, können Sie den -param Befehl hinzufügen Stile zu setzen.
Ja, das ist die richtige Lösung, wenn Sie alle Datenreihen auf den gleichen Achsen haben wollen. – feedMe