情報処理概論目次

GNUPLOTの簡単な使い方(I)

テキスト(LaTeX)版を利用するときには、ファイルのコメントをよく読むこと

GNUPLOTは優れたグラフ作成ツールで、UNIXを始めさまざまなOS上で供給されている GNUPLOTはGNUとついているが,Free Software Foundationが配布しているGNUソフトウエアではないが,無料で利用できる.


GNUPLOTの起動

GNUPLOTを使うには

% gnuplot

として、GNUPLOTの"世界"に入ってコマンド等を入力するか,または

% gnuplot ファイル
として、ファイルに用意したコマンド等をスクリプトファイルに書出してGNUPLOTに渡す方法がある. たとえば,次のグラフを出力するには次のようにする.

Graph of Sin function

  1. GNUPLOTの世界では

    gnuplot> plot [0:2*pi] sin(x)
    

    するとグラフが描画されたウィンドウが開く(これを閉じるには,右上の``ポチ''の部分をクリックする.右上の□の左隣). ちなみにpiは3.14159265(円周率)である.

    GNUPLOTの世界から抜け出るには

    gnuplot> exit または quit
    
  2. スクリプトファイル sin.pltをエディタで次のように書く.

    # sin (x) のグラフ
    set terminal x11
    plot [0:2*pi] sin(x)
    pause -1    # 改行キーが押されるまで待つ
    

    これをGNUPLOTに渡すとグラフが描画されたウィンドウが開く.

    % gnuplot sin.plt
    

    set terminalとはグラフの出力形態を規定し,x11とはX Windows Systemのウィンドウ画面を指定している. pause -1があるので,(gnuplotを起動したウィンドウで)改行キーが押されるとウィンドウは閉じる.

    ちなみに,記号『#』があるとその行の残りが無視されるので,コメント記号として使われる. スクリプトにはできる限り,情報をコメントに残すこと.

演習: この2つの方法を実際に行なってみよ.


いくつかの理由から,GNUPLOTの世界でコマンドを入力するよりも,スクリプトファイルを書いてこれをGNUPLOTに渡した方が便利であり. 以下,スクリプトファイルを使う方法でGNUPLOTの使い方を説明する. 作業は次のように進めると便利である.


LaTeX形式の出力

GNUPLOTのグラフ描画を画面ではなくファイルに出力することができる. ここでは,LaTeX形式での出力を説明する.

演習

  1. 先の図をLaTeX形式で出力するにはスクリプトsin.pltを次のように変更する.

    # sin (x) のLaTeX形式の出力
    #set terminal x11
    set terminal latex
    set output "sin.tex"
    plot [0:2*pi] sin(x)
    #pause -1
    

    出力形態がlatexとなっている. このとき,set outputで出力先のファイルを2重引用符『"』で囲んでいることに注意する. これを

    % gnuplot sin.plt
    

    とGNUPLOTに渡すとファイルsin.texが出力される(lsで確認せよ).

  2. このファイルsin.texをページャlessで見てみよ. このテキストファイルはLaTeXで絵を描くためのLaTeXコマンド群で書かれている( \begin{picture}...\end{picture}で挟まれたpicture環境を確認せよ).
  3. このファイルをLaTeX文書に貼り付けるには,文の途中で

    \input{sin.tex}
    

    と書いて,LaTeX本文中にファイルsin.texを読み込む. 実際に,LaTeX文書にこのsin曲線のグラフを貼り付けて,出力せよ.

  4. さらに,LaTeX本文中に,次のようにしてfigure環境でファイル sin.texを読み込んでみよ(このLaTeX文書をプレビューしてみよ).

    \begin{figure}[htb]
    %\begin{center}
    \input{sin.tex}
    %\end{center}
    \caption{0から$\pi$までのサイン曲線のグラフ}
    \label{fg:sin}
    \end{figure}
    

    LaTeXコメント『%』をはずして,\begin{center}と\end{center}で挟まれる center環境の効果を確かめよ. \caption{...}には,図の説明を書く.

  5. 相互参照用のラベル\label{...}と\caption{...}の順番に注意せよ. 上の例では,文中で

    ....
    図\ref{fg:sin}で示されているように,サイン曲線は周期的で
    .....
    

    とラベル名を\ref{...}に書いて図の番号を引用できる. そのためには,最低2回のコンパイルが必要である.


提出: サイン曲線を,単に\input{...}だけを使って貼り付けた図と,figure環境内で中央に貼り付けた図(どちらも同じ図である)を含んだLaTeX文書を完成させて提出せよ.

ただし,図の番号を文中で引用するような適当な文を作成し,\label{...}と\ref{...}を使った相互参照が使われているLaTeX文書であることが絶対条件(それ以外は無効).

注意: タイトルに"GNUPLOT(I)",著者名に"学生番号と氏名"として,日付を入れてあるものだけを受理する.


情報処理概論目次