2 はじめに (Introduction)

gnuplot は、ポータブルなコマンド入力方式のグラフユーティリティで、 Linux, OS/2, MS Windows, macOS, その他多くのプラットホーム上で動作しま す。ソースコードには著作権がありますが、無料で配布されています (すなわ ち、それに対価を支払う必要はありません)。元は、科学者や学生が数学関数 やデータなどを対話的に表示できるよう作られたのですが、現在までに例えば Web スクリプトなど、多くの非対話型の利用もサポートするように成長してい ます。これは、例えば Octave のようにサードパーティのアプリケーションの 描画エンジンとしても使われています。gnuplot は、1986 よりサポートと活 発な開発が行われています。

gnuplot は、2 次元、または 3 次元の多くの種類のグラフを生成できます。 います: 折線グラフ、点グラフ、棒グラフ、等高線、ベクトル場描画、画像の 取り込み、曲面、そしてそれらに関連するさまざまな文字列等。そしてさらに いくつかの特別なグラフ、例えば温度分布図 (heatmap)、蜘蛛の巣グラフ (レ ーダーチャート, spiderplot)、極射影 (polar projection)、ヒストグラム (histograms)、箱ひげ図 (boxplot)、ビースウォームグラフ (bee swarm)、 非線形軸などもサポートしています。

gnuplot は多くの異なる出力をサポートしています: 対話型スクリーン出力形 式 (マウスやホットキー入力も可能)、ペンプロッタや現在のプリンタへの直 接出力、または多くのファイル形式への出力 (eps, emf, fig, jpeg, LaTeX, pdf, png, postscript, ...)。gnuplot は、容易に新しい出力形式を追加する よう拡張することができます。最近では例えば webp アニメーションがサポー トされました。svg や HTML5 canvas 出力形式を利用すれば、グラフを Web ページ内にマウス利用可能な形で埋め込んだ出力を生成することもできます。

gnuplot のコマンド言語は大文字小文字を区別します。すなわち、小文字で 書かれたコマンドや関数名は、それらを大文字で書いたものとは同じではあり ません。いずれのコマンドも、あいまいさの無い限りにおいて省略することが できます。1 行中にはセミコロン (;) で区切って複数のコマンドを書くこと ができます。文字列は単一引用符、あるいは二重引用符のどちらかで書き始め ますが、両者には微妙な違いがあります (詳細は、以下参照: syntax (30))。例:


     set title "My First Plot";  plot 'data';  print "all done!"

コマンドは、複数行にまたがることができます。その場合は、最終行以外の 全ての行の行末にバックスラッシュ ( \) を書く必要があります。バックスラ ッシュは必ず各行 *最後* の文字でなくてはなりません。その結果としてバッ クスラッシュと、それに続く改行文字が存在しなかったかのように扱われます。 つまり、改行文字がスペースの役をすることもありませんし、改行によってコ メントが終了することもありません。ですから複数行にまたがる行の先頭をコ メントアウトすると、そのコマンド全体がコメントアウトされることになりま す (以下参照: comments (10))。なお注意しますが、もし、複数行のコマンドの どこかでエラーが起きたとき、パーサはその場所を正確には指示することがで きませんし、また、正しい行に指示する必要もないでしょう。

このドキュメントにおいて、中括弧 ({}) は省略可能な引数を表すものとし、 縦棒 (|) は、互いに排他的な引数を区切るものとします。gnuplot のキー ワードや help における項目名は、逆引用符 (`)、または可能な場合には boldface (太字) で表します。角括弧 (<>) は、それに対応するものに置き 換えられるべきものを表します。多くの場合、オプションの引数には、それが 省略されるとデフォルトの値が使用されます。しかし、これらの場合、必ずし も角括弧が中括弧で囲まれて書かれているわけではありません。

ある項目についてのヘルプが必要なときには、help に続けてその項目名を 入力して下さい。または単に help ? でもヘルプの項目のメニューが現われ ます。

大量のグラフサンプルが、以下の Web ページにあります。 http://www.gnuplot.info/demo/

コマンドラインから起動するときは、以下の書式が使えます。


     gnuplot {OPTIONS} file1 file2 ...

ここで file1, file2 等は、local コマンドで取り込むのと同等の入力ファ イル (スクリプトファイル) です。 gnuplot に与えるオプションは、コマンド行のどこに置いても構いません。フ ァイルは指定した順に実行され、同様に -e オプションで任意のコマンドを与 えることもできます。例:


     gnuplot   file1.in   -e "reset"   file2.in

特別なファイル名 "-" は、標準入力から読ませるのに使います。gnuplot は最後のファイルを処理し終わると終了します。読み込ませるファイルを一つ も指定しない場合は、gnuplot は標準入力からの対話入力を取ります。詳細 は、以下参照: batch/interactive (7)。 コマンドラインオプションの詳細は以下参照: command-line-options (7.1)。また は以下を実行してください。


     gnuplot --help

対話型描画ウィンドウでの作業中は、'h' を打つとホットキー (hotkeys) とマウス機能 (mousing) に関するヘルプを見ることができます。

竹野茂治@新潟工科大学
2024-02-26