% % この解説を完成させるためには,このファイルを % gnuplot1.tex %で保存して,一度コンパイルして,xdviでプレビューしながら説明文にしたがって, % GNUPLOTを使って文中で説明しているファイル sin.tex を出力しなさい. % そこで再び,さらに2回コンパイルしてから印刷すれば,出来上がり. % \documentstyle{jarticle} \title{GNUPLOTの簡単な使い方(I)} \author{mizutani@edu.tuis.ac.jp} \date{30th. Sept. 1996} \maketitle \begin{document} GNUPLOTは優れたグラフ作成ツールで、UNIXを始めさまざまなOS上で供給されている \footnote{Windows用もある. Macintosh用は筆者は知らない}. GNUPLOTはGNUとついているが,Free Software Foundationが配布している{\bf GNU}ソフトウエアではないが,無料で利用できる. \section{GNUPLOTの起動} GNUPLOTを使うには \begin{quote} \begin{verbatim} % gnuplot \end{verbatim} \end{quote} として、GNUPLOTの`世界'に入ってコマンド等を入力するか,または \begin{quote} \begin{verbatim} % gnuplot ファイル \end{verbatim} \end{quote} として、ファイルに用意したコマンド等を{\bf スクリプトファイル}に書出してGNUPLOTに渡す方法がある. たとえば,図\ref{fg:sin}のグラフを出力するには次のようにする. \begin{figure}[htb] \begin{center} \input{sin.tex} \end{center} \caption{$\sin (x),x\in [0,2\pi ]$のグラフ} \label{fg:sin} \end{figure} \begin{enumerate} \item GNUPLOTの世界では \begin{quote} \begin{verbatim} gnuplot> plot [0:2*pi] sin(x) \end{verbatim} \end{quote} するとグラフが描画されたウィンドウが開く(これを閉じるには,右上の``ポチ''の部分をクリックする.右上の□の左隣). ちなみに{\tt pi}は$\pi =3.14159265\cdots$(円周率)である. GNUPLOTの世界から抜け出るには \begin{quote} \begin{verbatim} gnuplot> exit または quit \end{verbatim} \end{quote} \item スクリプトファイル{\tt sin.plt}をエディタで次のように書く. \begin{quote} \begin{verbatim} # sin (x) のグラフ set terminal x11 plot [0:2*pi] sin(x) pause -1 # 改行キーが押されるまで待つ \end{verbatim} \end{quote} これをGNUPLOTに渡すとグラフが描画されたウィンドウが開く. \begin{quote} \begin{verbatim} % gnuplot sin.plt \end{verbatim} \end{quote} {\tt set terminal}とはグラフの出力形態を規定し,{\tt x11}とはX Windows Systemのウィンドウ画面を指定している. {\tt pause -1}があるので,({\tt gnuplot}を起動したウィンドウで)改行キーが押されるとウィンドウは閉じる. ちなみに,記号『{\tt \#}』があるとその行の残りが無視されるので,{\bf コメント}記号として使われる. スクリプトにはできる限り,情報をコメントに残すこと. \end{enumerate} \noindent {\bf 演習1}: この2つの方法を実際に行なってみよ. いくつかの理由から,GNUPLOTの世界でコマンドを入力するよりも,スクリプトファイルを書いてこれをGNUPLOTに渡した方が便利であり. 以下,スクリプトファイルを使う方法でGNUPLOTの使い方を説明する. 作業は次のように進めると便利である. \begin{itemize} \item GNUPLOTはプロット用のスクリプトファイルのあるディレクトリで起動する. 新たに専用のディレクトリ(たとえば,{\tt plot})を作成しておく. \item スクリプトファイルを書くときにはファイル拡張子に『{\tt .plt}』を付け,『\&』をつけてMuleを起動し,必要に応じて修正して,すぐにGNUPLOTに読み込ませることができるようにする. \end{itemize} \section{\LaTeX{}形式の出力} GNUPLOTのグラフ描画を画面ではなくファイルに出力することができる. ここでは,\LaTeX{}形式での出力を説明する. \begin{enumerate} \item 図\ref{fg:sin}を\LaTeX{}形式で出力するにはスクリプト{\tt sin.plt}を次のように変更する. %%%%%%% % このLaTeX文書を完成するにはこの↓スクリプトでファイル sin.texを作成すること %%%%%%% \begin{quote} \begin{verbatim} # sin (x) のLaTeX形式の出力 set terminal latex set output "sin.tex" plot [0:2*pi] sin(x) \end{verbatim} \end{quote} 出力形態が{\tt latex}となっている. このとき,{\tt set output}で出力先のファイルを『{\tt "}』で囲んでいることに注意する. これを \begin{quote} \begin{verbatim} % gnuplot sin.plt \end{verbatim} \end{quote} とGNUPLOTに渡すとファイル{\tt sin.tex}が出力される({\tt ls}で確認せよ). \item このファイル{\tt sin.tex}をページャ{\tt less}で見てみよ. このテキストファイルは\LaTeX{}で絵を描くための\LaTeX{}コマンド群で書かれている( \verb|\begin{picture}...\end{picture}|で挟まれたpicture環境を確認せよ). \item このファイルを\LaTeX{}文書に貼り付けるには,文の途中で \begin{quote} \begin{verbatim} \input{sin.tex} \end{verbatim} \end{quote} と書いて,本文中にファイル{\tt sin.tex}を読み込む. 実際に,LaTeX{}文書にこのsin曲線のグラフを貼り付けて,出力せよ. \item さらに,\LaTeX{}本文中に,次のようにして{\bf figure環境}でファイル{\tt sin.tex}を読み込んでみよ(この\LaTeX{}文書をプレビューしてみよ). \begin{quote} \begin{verbatim} \begin{figure}[htb] %\begin{center} \input{sin.tex} %\end{center} \caption{0から$\pi$までのサイン曲線のグラフ} \label{fg:sin} \end{figure} \end{verbatim} \end{quote} \LaTeX{}コメント『\%』をはずして,\verb|\begin{center}|と\verb|\end{center}|で挟まれる{\bf center環境}の効果を確かめよ. \verb|\caption{...}|には,図の説明を書く. \item 相互参照用のラベル\verb|\label{...}|と\verb|\caption{...}|の順番に注意せよ. 上の例では,文中で \begin{quote} \begin{verbatim} .... 図\ref{fg:sin}で示されているように,サイン曲線は周期的で ..... \end{verbatim} \end{quote} とラベル名を\verb|\ref{...}|に書いて図の番号を引用できる. そのためには,最低2回のコンパイルが必要である. \end{enumerate} \noindent {\bf 演習}: サイン曲線を,単に\verb|\input{...}|だけを使って貼り付けた図と,figure環境内で中央に貼り付けた図(どちらも同じ図である)を含んだ\LaTeX{}文書を完成させて提出せよ. ただし,図の番号を文中で引用するような適当な文を作成し,\verb|\label{...}|と\verb|\ref{...}|を使った相互参照が使われている\LaTeX{}文書であることが絶対条件(それ以外は無効). \bigskip \noindent 注意: タイトルに`GNUPLOT(I)',著者名に`学生番号と氏名',日付を`本日'としてあるものだけを受理する. \end{document}