gnuplot を使った

 

gnuplotは数値を読み込んで楽しそうな図形を作成できるフリーソフトウェアです。単純なコマンドを使用して操作します。ここではそのやり方をSolaris2.6にインストールから使うまでを説明しています。

●インストールのこと

●数式を書いて グラフを表示させる

●データを読み込んでEPSファイルを作成する

  • ちょっと複雑なグラフを作成する

    ●gnuplot用読み込みファイルを作る

     

     

    ●インストールのこと

    Freeware for SolarisにてバイナリをGETしました。
    これをsolaris2.6にインストールします。

    # pkgadd gnuplot-3.5-sol26-sparc-local.gz

    と入力して、画面の表示にしたがいます。これでインストールはさくさくすすみました。
    gnuplot のインストール先は

    /usr/local
    と自動でインストールされたようです。
    すでにインストールされてパスが通っていれば、

    % gnuplot

    と入力することでgnuplotが起動します。


     

    ●数式を書いてグラフを表示させる
    sin関数の表示をするには
    gnuplot > plot sin(x)

    とします。これで新しいウインドウが出てきて、sinカーブが表示されます。
    この調子でcos(x)、tan(x)、1-1/exp(x)、とかいろいろなグラフを描いてみてください。
    式を組み合わせたりしてもそのとおりにグラフがでるので面白いですよ。

    ●データを読み込んでepsファイルを作る
    下のテキストデータを使って3つの曲線を描く例を示します。
    
    ------- ファイル名 suutikai.dat -------------
    
    0.250     0.250000     0.200000     0.200000
    0.500     0.625000     0.466667     0.377778
    0.750     0.906250     0.695238     0.626667
    1.000     1.000000     0.847619     0.830303
    
    ---------------------------------------------
    
    始めにepsファイルを作るファイル名を指定します。
    (1行目が出力形式の指定、2行目が出力先ファイル名の指定です)
    

    gnuplot> set terminal postscript eps
    > set output "suuti.eps"

    
    ここでの出力先ファイル名はsuuti.epsとなっています。
    次に出力ファイルを作ります。
    

    gnuplot> plot "suutikai.dat" using 1:2 with lines , \
    > "suutikai.dat" using 1:3 with lines , \
    > "suutikai.dat" using 1:4 with lines


    最後に「, \」をつけなければプロット終了です。 これでsuuti.epsファイルは作られました。
    コマンド中の「using 1:2」というのはsuutikai.datファイルの1番目が横軸、2番目のデータを縦軸に対応させてます。
    linesはグラフを直線で書くという事を指定しています。

     


    ●ちょっと複雑なグラフを作る

    以下の2つのテキストファイルをつかって、4つの曲線を描くことにします。

    
    ---------- ファイル名 genmitsu_cr.dat -------
    0.000     0.00000
    0.025     0.02469
    0.050     0.04877
    0.075     0.07226
    0.100     0.09516
    0.125     0.11750
    0.150     0.13929
    0.175     0.16054
    0.200     0.18127
    0.225     0.20148
    0.250     0.22120
    0.275     0.24043
    0.300     0.25918
    0.325     0.27747
    0.350     0.29531
    0.375     0.31271
    0.400     0.32968
    0.425     0.34623
    ---------------------------------------------
    
    
    --------- ファイル名 suuti_cr.dat ------------
    0.000     0.000000     0.000000     0.000000
    0.025     0.025000     0.024390     0.012346
    0.050     0.049375     0.048186     0.036732
    0.075     0.073141     0.071401     0.060517
    0.100     0.096312     0.094049     0.083714
    0.125     0.118904     0.116146     0.106338
    0.150     0.140932     0.137703     0.128404
    0.175     0.162408     0.158735     0.149925
    0.200     0.183348     0.179253     0.170914
    0.225     0.203764     0.199272     0.191385
    0.250     0.223670     0.218802     0.211351
    0.275     0.243079     0.237855     0.230824
    0.300     0.262002     0.256444     0.249816
    0.325     0.280452     0.274580     0.268339
    0.350     0.298440     0.292273     0.286405
    0.375     0.315979     0.309534     0.304024
    0.400     0.333080     0.326375     0.321209
    0.425     0.349753     0.342805     0.337969
    ---------------------------------------------
    
    gnuplotのコマンドを次のように入力します。
    

    gnuplot> set terminal postscript eps
    > set output "cr_kairo.eps"

    gnuplot> set xlabel "x"
    gnuplot> set ylabel "y=exp(-x)"
    gnuplot> set title "making epsfile"

    gnuplot> plot "genmitsu_cr.dat" using 1:2 title "exact" with lines, \
    > "suuti_cr.dat" using 1:2 title "forward" with lines, \
    > "suuti_cr.dat" using 1:3 title "backward" with lines, \
    > "suuti_cr.dat" using 1:4 title " trapezoidal" with lines

    途中、何もエラーがでなければ成功です。このデータでは下のようなグラフが出来上がりました。
    ちょっと数値が4つとも近いので分かりにくいですが、上の図では4本のグラフが描かれています。

     

     

     

    ●gnuplot用読み込みファイルを作る

     

    ターミナル上でのコマンドが複雑だったりして、コマンドを打つのが大変なときもあります。
    そんなときは、あらかじめテキストファイルにgnuplotのコマンドを 打ちこんでおいて、 その動作を実行させることが出来ます。
    そこで、グラフの作成の前に、error_h_log.gpというファイルを用意しました。

    テキストファイルを用意したら、ターミナル上で

    gnuplot error_h_log.gp

    と入力することで、error_h_log.epsというファイルが出来上がるテキストファイルを作成しました。

     


    このページはhttp://homepage1.nifty.com/soitsu/gnuplot/gnuplot.html に置いてあります。
    gnuplotにはもっといろいろな機能があります。
    ここに書いてあるのはほんの一部ですので以下のサイトが参考になると思います。

    2001年1月9日

    Hirokazu Arii [xxxxxx@nifty.ne.jp]

    <参考>

    gnuplot tips http://art.aees.kyushu-u.ac.jp/members/kawano/gnuplot/intro/

    gnuplotマニュアル http://www.linux.or.jp/JF/JFdocs/gnuplot.html