書式:
set terminal postscript {<mode>} {enhanced | noenhanced | plus | noplus} {color | monochrome} {solid | dashed} {<duplexing>} {"<fontname>"} {<fontsize>}
mode は landscape か portrait か eps か default で、 solid は全てのグラフの点線のパターンを実線で上書きします。 duplexing は defaultplex か simplex か duplex です (PostScript の "duplexing" はプリンタの 1 ページ両面印刷の機能を有効にします。あな たのプリンタがそれを行なえないなら設定しないでください)。 enhanced は "拡張 PostScript" (上付き文字、下付き文字、および複数の フォントの利用) の機能を有効にします。 "fontname" は有効な PostScript フォントの名前で、fontsize は PostScript ポイント単位でのフォントの大きさです。
default モードは全てのオプションを以下のデフォルトの値に設定します: landscape, monochrome, dashed, defaultplex, noenhanced, "Helvetica", 14pt。 PostScript のグラフのデフォルトの大きさは、10 インチの幅で 7 インチの 高さです。
eps モードは EPS (Encapsulated PostScript) 出力を生成しますが、これ は通常の PostScript に、それを他の多くのアプリケーションで取り込むこと ができるようにいくつかの行を追加したものです (追加される行は PostScript のコメント行なので、よってそれ自身もちゃんと印刷できます)。EPS 出力を 得るには eps モードを使用し、1 つのファイルには 1 つのグラフのみ、と してください。eps モードではフォントも含めてグラフ全体がデフォルトの 大きさの半分に縮められます。
例:
set terminal postscript default # 以前の postscript set terminal postscript enhanced # 以前の enhpost set terminal postscript landscape 22 # 以前の psbig set terminal postscript eps 14 # 以前の epsf1 set terminal postscript eps 22 # 以前の epsf2 set size 0.7,1.4; set term post portrait color "Times-Roman" 14
線の幅と点の大きさは set linestyle で変更できます。
postscript ドライバは約 70 種類の異なる点種をサポートしていて、これ は plot や set linestyle の pointtype オプションで選択できます。
gnuplot と Postscript に関する多分有用と思われるファイルが gnuplot の配布物、またはその配布サイトの /docs/ps サブディレクトリ内にいくつか 含まれています。そこには "ps_symbols.gpi" (実行すると postscript ド ライバで使える全ての記号を紹介する "ps_symbols.ps" というファイルを生 成する gnuplot のコマンドファイル)、"ps_guide.ps" (拡張された書式に 関する要約と、文字列内で 8 進コードで生成されるもの、symbol フォント等 を含む PostScript ファイル)、"ps_file.doc" (gnuplot で作られる PostScript ファイルの構造の説明を含むテキストファイル) があります。
PostScript ファイルは編集可能で、一度 gnuplot でそれを作れば、それを 望むように修正することは自由に行なえます。"editing postscript" の節を 参照すればそのためのヒントがいくつか得られるでしょう。 Enhanced postscript
拡張テキスト制御記号 | ||
制御記号 | 例 | 説明 |
^ |
a^x |
上付き文字 |
_ |
a_x |
下付き文字 |
@ |
@x or a@^b_c |
空ボックス (幅がない) |
& |
&{space} |
指定した長さのスペースを挿入 |
中カッコは一文字が期待される箇所に複数の文字を書く場合に使われます (例
えば 2^
{10})。フォント、およびそのサイズを変更するには、以下の形式を使
ってください: {/[fontname][=fontsize *fontscale] text} よって、例え
ば {/Symbol=20 G} は 20 ポイントのガンマに、{/*0.75 K} は現在の有効な
フォントサイズの 3/4 の大きさの K になります (文字 '/' は、必ず '{' の
後ろの最初の文字でなくてはなりません)。
set encoding によって文字エンコード系が変更されている場合、'/' の次 に '-' を書くとデフォルトの文字エンコード系が代わりに使われます。しか し、これは Symbol フォントを使う場合は必要ありません。それは /Symbol は自分自身のエンコード系を使い、gnuplot は他のエンコーディング系をそ れには適用しないからです。
空ボックス (phantom box) は a@^
b_c の上付き文字と下付き文字を揃えると
きに有用ですが、文字にアクセント記号を重ねる場合にはうまく働きません
(後者を行なうには set encoding iso_8859_1 で ISO Latin-1 エンコーデ
ィング系に変更し、そこに含まれるたくさんの種類のアクセントや他のダイア
クリティカルマークのついた文字を利用する方がいいでしょう)。そのボック
スはスペーシングが行なわれないので、ボックス内 (つまり @ の後ろ) の上
付き文字や下付き文字を短く出力するのに適しています。
ある文字列と同じ長さのスペースを文字 '&' を使うことで入れることができ
ます。すなわち、
'abc&{def}ghi'
'abc ghi'
文字コード (8 進数) を指定することで特殊な記号を指定することができま す。例えば、{/Symbol 245} は無限大の記号になります。
制御文字は、 や { などのように を使ってエスケープできます。
しかし、二重引用符内の文字列は単一引用符内の文字列とは異なって解釈され ることを知っておいてください。主な違いは、二重引用符内の文字列ではバッ クスラッシュは 2 つ重ねる必要があることです。
例 (これらは言葉で説明するのは難しいのでとりあえずやってみてください):
set xlabel 'Time (10^6 {/Symbol m}s)' set title '{/Symbol=18 \362@_{/=9.6 0}^{/=12 x}} \ {/Helvetica e^{-{/Symbol m}^2/2} d}{/Symbol m}'
gnuplot ソース配布物内の /docs/ps サブディレクトリにあるファイル "ps_guide.ps" に、拡張された書式に関する例が更に載っています。 Editing postscript PostScript 言語はとても複雑な言語で、ここで詳細を記述することはとても できません。それでも、gnuplot で作られる PostScript ファイルには、致 命的なエラーをそのファイルに導入してしまう危険性のない変更を行なうこと が可能な部分があります。
例えば、PostScript の文 "/Color true def" (set terminal postscript color コマンドに答えてファイルに書き込まれます) を変更して、その描画を白黒の ものにする方法はおわかりでしょう。同様に、線の色、文字の色、線の太さ (weight)、記号のサイズも、本当に簡単に書き換えられるでしょう。タイトル や見出しなどの文字列の誤植や、フォントの変更も編集可能でしょう。任意の ものの配置も変更できますし、もちろん、任意のものを追加したり、削除した りもできますが、それらの修正は PostScript 言語の深い知識が必要でしょう。
gnuplot によって作られる PostScript ファイルの構成に関しては、/docs/ps サブディレクトリのテキストファイル "ps_file.doc" に述べられています。 Postscript plus plus オプションが有効な場合、フォントの変更、および上付き文字、下付き 文字、ギリシャ文字等は LaTeX と同様の書式が使えます。
拡張テキスト制御記号 | ||
制御記号 | 例 | 説明 |
^ |
a^x |
上付き文字 |
_ |
a_x |
下付き文字 |
例:
set label 1 '\rotate=-20{\size=20\bf \sqrt{2\beta}}' set xlabel 'Time $(10^6 \mu s)$' set ylabel 'Length $(\AA)$' set title '${\sm\size=18 \362}_{\small 0}^{\size=12 xi} \ {\rm e^{-\alpha^2} d}\mu$'