Perlによるgnuplot操作
perlからgnuplotを扱う方法をメモる。
C言語でいうとpopen操作と似てるっぽい。
C言語でいうとpopen操作と似てるっぽい。
- draw_plot.pl
#! /usr/bin/perl -w # draw_plot.pl -- gnuplotの操作 open (GP, "| gnuplot" ) or die "no gnuplot"; print GP "plot sin(x)\n"; use FileHandle; GP->autoflush( 1 ); <STDIN>; close GP;
gnuplotに対してコマンドを渡す。
"plot ・・・"のみの記述では、グラフは一瞬表示するがすぐに消えてしまう。
"close GP"が呼び出された時点でそうなる。
"plot ・・・"のみの記述では、グラフは一瞬表示するがすぐに消えてしまう。
"close GP"が呼び出された時点でそうなる。
gnuplot内に"pause -1"を記述しても渡しが試したかぎりではダメのようだ。
そこで、close前に出力を吐き出して、コマンド入力待ちにしてみた。
もうひとつのやりかたを以下に示す。
- draw_plot.pl
#! /usr/bin/perl -w # draw_plot.pl -- gnuplotの操作 open (GP, "| gnuplot -persist" ) or die "no gnuplot"; print GP "plot sin(x)\n"; close GP;
"open"時に"-persist"をつけることでグラフのウィンドウを独立させる。