私はgnuplotの初心者であり、引数をたくさん渡すのに苦労していますが、今ではこの単純なbashスクリプトとgnuplotスクリプトがあります。
bashスクリプトでplot.sh
ファイルを変更してから、プロットするgnuplotスクリプトに送信する必要がありますORファイルを変更し、パラメーター(別のスクリプト$ 1から渡された数値)をプロットするファイルを識別するgnuplotスクリプト、問題は2つの方法のどちらでも機能していない、私はそれを正しくしていないようです!何か助け?
ここに私のbashスクリプトplot.shがあります
#!/bin/bash
sed -i 's/ns/;/g' /dev/shm/waitingTime$1.txt
gnuplot -e "filename='/dev/shm/waitingTime$1'" file.gnuplot
そして、これがfile.gnuplotというgnuplotスクリプトです。
#!/home/yas/file.gnuplot
set xlabel "start"
set ylabel "Delay"
set autoscale
set style line 1 lt 1 lw 3 pt 3 linecolor rgb "red"
plot<"filename"> using 1:2 w points title "tests"
set terminal postscript portrait enhanced mono dashed lw 1 'Helvetica' 14
set output '/dev/shm/TT.pdf'
pause -1
file.gnuplotの終わり
正しく理解できれば、グラフをディスプレイに表示して、then PDFファイル/dev/shm/TT.pdf
にコピーを作成します。
ここに2つの問題があります。
プロットの指示---あなたはfilename
にファイル名を保存するので、ypuはただ言うべきです
plot filename using 1:2 w points title "tests"
<"
...なし。
Pdfファイルが必要な場合は、ターミナルと出力ファイルの変更後にreplot
を追加する必要があります(宛先ディレクトリに書き込むことができるダブルチェック)。
ファイルdata.dat
とファイルfile.gnuplot
を作成しました:
set xlabel "start"
set ylabel "Delay"
set autoscale
set style line 1 lt 1 lw 3 pt 3 linecolor rgb "red"
plot filename using 1:2 w points title "tests"
set terminal postscript portrait enhanced mono dashed lw 1 'Helvetica' 14
set output 'TT.pdf'
replot
pause -1
そしてそれを呼び出す:
gnuplot -e "filename='data.dat'" file.gnuplot
出力があります:
...および対応するTT.pdf
ファイル。
ちなみに、最後のpause
の代わりに、追加する方がずっと良い
set terminal wxt persist
開始時に、一時停止を削除します。スクリプトは自然に終了し、グラフのあるウィンドウは、閉じるまで表示されたままになります。