短い答え
for i in {2..n}; do xmgrace -block file.dat -bxy 1:$i; done
しかし、プロットは、別のウィンドウに表示されます。この方法を試してみました:これは、データ系列ごとに個別のプロットファイルを作成します
を対第1列:
for i in {2..7}; do `gracebat -nosafe -hdevice PNG -printfile $i.png -block a.txt -bxy 1:$1`; done
長い回答:
すべての列をプロットする場合は(2から番号を含むまで)。
for i in {2..7}; do echo -n " -block file.dat -bxy 1:$i"; done | xargs xmgrace
をしかし、あなたの質問が個々のプロットを求めているので、我々はこれを行うことができます:同じ軸上のカラム1 対列7)は、あなたが行うことができ
for i in {2..7}; do echo -n " -block file.dat -bxy 1:$i" | xargs xmgrace; done
またはこれを、どの同じ結果を与えるが簡単です:
for i in {2..7}; do echo -n `xmgrace -block file.dat -bxy 1:$i`; done
しかし、これはINDIVIので、非常に実用的ではありませんデュアルプロットは1つずつ表示され、次の表示にはそれぞれ閉じなければなりません。
xmgraceをバッチモードで実行し、各プロットの画像を保存する方が良いでしょう。これは、xmgraceバッチファイルとgracebat
実行ファイルを使用して実行できます。
for i in {2..7}; do `gracebat -nosafe -batch save.bfile -block a.txt -bxy 1:$1`; done
これは、前と同じデータを持つバッチモードで恵みを呼び出しますが、save.bfile
に保存されたバッチコマンドを実行し、含まれている:
PRINT TO "out.ps"
PRINT
これで明白な問題は、それぞれの新しい反復が上書きされるということですout.ps
出力ファイルの名前がバッチファイルにハードコードされているため、追記ファイルです。だから、あなたはファイル内の最後のものしか見ることができません。幸いにもgracebatを呼び出す前にsedを使ってバッチファイルを変更することができます!save.bfileは今
PRINT TO "outName.ps"
PRINT
と文字列outName
が含まれてい
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
は$ iで置き換えられます。
プロットを内側にして.psファイルが読み込まれるはずです。より多くのことをするためにバッチファイルで遊んでください。出力ファイル形式を変更する方法など、追加可能なコマンドについては、this pageを参照してください。
別の方法としては、完全にバッチファイルを使用してスキップすることができます。
for i in {2..7}; do `gracebat -nosafe -hdevice PNG -printfile $i.png -block a.txt -bxy 1:$1`; done
あなたは、パラメータ・ファイルを使用している場合は、あなたがあまりにもスタイルを設定する-paramのコマンドを追加することができます。
はい、これは正しい解決策は、同じ軸上のすべてのデータシリーズが必要な場合。 – feedMe