手動で閉じるまでgnuplot-x11グラフィックウィンドウを開いたままにする方法は?

手動で閉じるまでgnuplot-x11グラフィックウィンドウを開いたままにする方法は?

たとえば、次は、gnuplot-x11キーが押されるまでグラフィックウィンドウを開いたままにします。

gnuplot -e "plot \"file\" ; pause -1 \"text\""

手動で閉じるまで開いたままにする方法は?

答え1

使用-pまたは--persistオプション:

gnuplot --persist -e 'plot sin(x)'

これにより、手動で閉じるまでウィンドウが開いたままになります。 ~からマニュアルページ:

-p,  --persist  lets  plot  windows  survive after main gnuplot program
                exits.

答え2

pause mouse closeスクリプトの最後に使用することをお勧めします。これにより、--persistまたはとは異なり、追加のポーリングなしでマウスとさまざまなキーバインディングを使用して図面を制御できますreread

主キーバインディングには以下が含まれます。

 <B1> doubleclick   send mouse coordinates to clipboard (pm win wxt x11)
 <B2>               annotate the graph using `mouseformat` (see keys '1', '2')
                    or draw labels if `set mouse labels is on`
 <Ctrl-B2>          remove label close to pointer if `set mouse labels` is on
 <B3>               mark zoom region (only for 2d-plots and maps)
 <B1-Motion>        change view (rotation); use <Ctrl> to rotate the axes only
 <B2-Motion>        change view (scaling); use <Ctrl> to scale the axes only
 <Shift-B2-Motion>  vertical motion -- change xyplane
 <B3-Motion>        change view (azimuth)
 <wheel-up>           scroll up (in +Y direction)
 <wheel-down>         scroll down
 <shift-wheel-up>     scroll left (in -X direction)
 <shift-wheel-down>   scroll right
 <Control-WheelUp>    zoom in on mouse position
 <Control-WheelDown>  zoom out on mouse position
 <Shift-Control-WheelUp>    pinch on x
 <Shift-Control-WheelDown>  expand on x

 q            * close this plot window

 a               `builtin-autoscale` (set autoscale keepfix; replot)
 b               `builtin-toggle-border`
 e               `builtin-replot`
 g               `builtin-toggle-grid`
 h               `builtin-help`
 i               `builtin-invert-plot-visibilities`
 l               `builtin-toggle-log` y logscale for plots, z and cb for splots
 L               `builtin-nearest-log` toggle logscale of axis nearest cursor
 m               `builtin-toggle-mouse`
 r               `builtin-toggle-ruler`
 V               `builtin-set-plots-invisible`
 v               `builtin-set-plots-visible`
 1               `builtin-previous-mouse-format`
 2               `builtin-next-mouse-format`
 5               `builtin-toggle-polardistance`
 6               `builtin-toggle-verbose`
 7               `builtin-toggle-ratio`
 n               `builtin-zoom-next` go to next zoom in the zoom stack
 p               `builtin-zoom-previous` go to previous zoom in the zoom stack
 u               `builtin-unzoom`
 +               `builtin-zoom-in` zoom in
 =               `builtin-zoom-in` zoom in
 -               `builtin-zoom-out` zoom out
 Right           `scroll right in 2d, rotate right in 3d`; <Shift> faster
 Up              `scroll up in 2d, rotate up in 3d`; <Shift> faster
 Left            `scroll left in 2d, rotate left in 3d`; <Shift> faster
 Down            `scroll down in 2d, rotate down in 3d`; <Shift> faster
 <               `rotate azimuth left in 3d`; <ctrl> faster
 >               `rotate azimuth right in 3d`; <ctrl> faster
 Escape          `builtin-cancel-zoom` cancel zoom region

答え3

フローティングプログラムを定期的に更新してライブチャートにすることができます。これは、ファイルを更新するデータロガーで最も一般的に使用されます。

しかし、あなたの質問に関する限り、プロットは開いたままです。Ctrl-C

描画プログラムの最後に次の2行を追加します。

pause 30
reread

これの利点の1つは、特にデバッグ時にgnuplot環境を使用するためにシャットダウンする必要がないことです。フローティングを停止すると、gnuplotプロンプトに戻ります。それでも!vi plotpgm.gpgnuplot環境を使用してプログラムを編集し、load "plotpgm.gpコマンドを使用して再起動できます。


関連情報