回答:
From man gnuplot
またはそのオンラインマンページ:
-p, --persist lets plot windows survive after main gnuplot program
exits.
-e "command list" executes the requested commands before loading the
next input file.
したがって、おそらく実行したいのは次のコマンドです。
gnuplot -e "plot sin(x); pause -1"
私が提案したがそれほど有用ではない他のバリアントは次のとおりです。
gnuplot -p -e "plot sin(x); pause -1"
gnuplot -e "plot sin(x)"
gnuplot -p -e "plot sin(x)"
一つの方法は-persist
:
#!/usr/bin/gnuplot -persist
set title "Walt pedometer" font ",14" textcolor rgbcolor "royalblue"
set timefmt "%y/%m/%d"
set xdata time
set pointsize 1
set terminal wxt enhanced title "Walt's steps " persist raise
plot "/home/walt/var/Pedometer" using 1:2 with linespoints
別の方法として、データを前処理する必要がある場合は、Bashを使用しますHere Document
(を参照man bash
)。
#!/bin/bash
minval=0 # the result of some (omitted) calculation
maxval=4219 # ditto
gnuplot -persist <<-EOFMarker
set title "Walt pedometer" font ",14" textcolor rgbcolor "royalblue"
set timefmt "%y/%m/%d"
set yrange $minval:$maxval
set xdata time
set pointsize 1
set terminal wxt enhanced title "Walt's steps " persist raise
plot "/home/walt/var/Pedometer" using 1:2 with linespoints
EOFMarker
# rest of script, after gnuplot exits
expect
...
chmod u+x myscript.gnu
として直接実行する./myscript.gnu
だけで、あなたが忘れノート[]
yrangeの中で:set yrange [$minval:$maxval]
。
man
ページで説明されているように、gnuplot
はバッチセッションと呼ばれるコマンドファイルからの入力を想定しています。たとえば、その行plot sin(x)
をファイルに書き込んでからmyplot
実行できgnuplot myplot
ます。
スクリプトのようにコマンドファイルを省略すると、対話型セッションになります。
上記のhere-docメソッドは、Gnuplotや他の多くのプログラムでも非常に役立ちます。ヒアドキュメントのGnuplotコマンド内でシェル変数を使用することにより、シェルスクリプトのコマンドラインからの入力でプロットをパラメーター化できます。物事を巧みに設定することで、「ビッグデータ」の膨大な一群からプロットを大量に作成できます。私は、この方法を正確に使用して何百もの構造動力学有限解析を実行し、1プロットあたり20,000〜80,000ポイントの一貫した外観の散布図を作成していました。これは非常に強力な方法です。
これは役立つかもしれません
{#set terminal postfile
{#set output "d1_plot.ps"
set title "Energy vs. Time for Sample Data"
set xlabel "Time"
set ylabel "Energy"
plot "d1.dat" with lines
pause -1 "Hit Enter to continue"
-p
この例では、多くの使用ではありません。ターミナルでEnterキーを押すと、gnuplotは終了し、プロットウィンドウはquitコマンドを除いて完全に非対話型になります。3番目の出力が出入りするだけです(まったく表示されません)。最後のものは出力を生成しますが、gnuplotはすぐに閉じるので、プロットウィンドウは再び非対話型になります(また、小さな1square cmプロットが表示されます)。だからpause -1
必要です。