同じ2列形式のcsvファイルのコレクションがあります。各ファイルに対応する、同じスタイルの別々のxy散布図を作成したいと思います。変更する必要があるのは、入力ファイル名と出力ファイル名だけです。どうやってするの?
8549 次
3 に答える
7
andyrasによって投稿されたソリューションは完全に実行可能です。ただし、これらの場合、「ここ」ファイルは通常、余分なプロセスの生成を回避し、一重引用符と二重引用符の混合に問題がないため、より優れています...
for file in $(echo *.dat); do
gnuplot <<EOF
set terminal post enh
set output "output_${file}.ps"
set datafile separator ',' #csv file
plot "$file" u 1:2
EOF
done
于 2012-05-19T18:38:06.497 に答える
2
まず、すべてのスタイル情報を含むテキストファイルを作成しますgplot_prefix.txt
。次に、プロットするすべてのファイルに一致するパターンがあると仮定します*.dat
。次に、次のようにzshスクリプトを作成します。
foreach arg in $@
filename=${arg}_plotfile.pl
cp gplot_prefix.txt ${filename}
echo set output ${arg}.png >>${filename}
echo plot \"${arg}\" u 1:2 >>${filename}
gnuplot ${filename}
rm ${filename}
(これにはバグがある可能性があります。私のzshは現在正しく機能していません)そしてそれを次のように呼び出します
./plotscript.zsh *.dat
于 2012-05-18T22:43:34.010 に答える
2
ラッパーbashスクリプトを作成し、次のように保存できますplot.sh
。
#!/bin/bash
echo "set terminal postscript enhanced
set output 'output_$1.eps'
plot '$1'
.dat
データファイルすべてに拡張子が付いているとしましょう。これを使用するには、
for datfile in $(ls *dat) ; do ./plot.sh $datfile ; done
bashのコマンドラインで。
于 2012-05-18T23:11:28.490 に答える