はじめに
eps (Encapsulated PostScript) ファイルは画像形式の一つです。Wikipedia によると、eps ファイル postscript という言語ベースのものだとか。すなわち、postscript さえ読み書きできれば、eps ファイルは作成や編集ができるわけです。
postscript なんか習ってねーよっ! と思われるかもしれません。しかし、Gnuplot を用いてグラフ作成に勤しむ学生には、知っておいたほうがいいのも事実です。そこで、Gnuplot ユーザーに贈る「最低限、大学生レベル・大学院生レベルで必要なポイント」をお伝えしようと思います。なお、Python やフリーの eps 変換ソフトにて作成された eps は、僕もわかりません。ここではあくまで Gnuplot にて作成した eps に限ることとします。
eps をいじろう
では、eps を編集しましょう。普段は GSView にて eps ファイルを閲覧していると思いますが、今回は 右クリック → プログラムから開く を行い、メモ帳(または、秀丸)で開きましょう。テキストエディタという言葉を知っているなら、テキストエディタで開きましょう、と言った方がいいかもしれませんね。
今回は、以下のようなデータをもとに、編集をしてみようと思います。Excel がランダムな数字を作ってくれました。Excel ありがとう。
ちなみに、こちらを作成したときの gp ファイルは以下です。
reset
cd 'C:\Users\username\Desktop'
set terminal postscript eps enhanced color "TimesNewRoman" 28
set output "ex.eps"
set key below
set xlabel "Random Num, {/TimesNewRoman-Italic n} (-)"
set ylabel "Y jikudayo, {/TimesNewRoman-Italic y} (-)"
set tmargin 2
plot "ex.txt" using 1:2 with points lc "web-green" pt 7 ps 1.5 title "rand data"
ラベルを編集する
ここではラベル名の編集を考えましょう。ラベル名を書いている箇所を探します。メモ帳で、ctrl + F (command + F) をします。以後、この処理を検索と呼びます。基本、目視で探すより検索したほうが早いです。すると、僕は 770 行目付近にラベル名の処理が出てきました。ここでは視認性のため、Atom というソフトウェアを使って、テキストに色を付けたものを載せます。
ここで、770 行目~ 774 行目にあるのが Random Num, n (-) という x 軸のラベルを記述している箇所です。
ここで覚えておきたいのは以下の 5 つです。(多い…)
- (TimesNewRoman) と (TimesNewRoman-Italic) の部分。これはフォントであり、他に Symbol などが使えます。ギリシャ文字は Symbol で記述できるので、多分 Times か Symbol が皆さんが使うフォントでしょう。
- (Random Num, ) や (n)、((-)) の箇所。ここはテキストを表します。一見、((-)) は何を書いているのか分かりにくいかと思います。これは、( の 2 文字で ( を、) の2 文字で ) を表しているのです。なぜそんな事をするのかというと、文法上のカッコなのか、テキストとして記述したいカッコなのかの区別のためです。これを専門用語ではエスケープシーケンスと言います。ググるときの参考にしてください。
- 280.0 0.0 のところをいじると、文字の大きさを変えられます。上付きや下付き文字にすることも可能です。ただし、eps から編集するより、gp ファイルで予め記述するほうが楽です。gp ファイルで e^{2x} みたいに書くと、2x の部分が上付きに、X_{0} みたいに書くと、0 のところが下付きになります。
- 770 行目の 4033 476 M はテキストの座標を表します。4033 が x 座標で 476 が y 座標です。
- 他は基本いじらない!!(下手にいじると、開けなくなります)
凡例をいじりたい
さて、下にあるのは見にくいので、グラフエリアの上に持っていってみましょう。実はそのために、gp ファイルにて上の余白を作っておきました(tmargin のところ)。もちろん今回のような図では、右上で良いのですが、まあ、練習ということで。では、rand で検索して場所を探しましょう。
ここですね。ラベルの編集でお伝えしたのと同様に、783 行目は座標を表しています。すなわち、203 という y 座標を 大きくしてやれば、rand data という文字は上に移動します(変更後、保存してくださいね)。
しかし、これでは終われません。そう、下にまだ凡例のプロットが残っています。これも移動しましょう。
改めて上の写真を見てください。791 行目以降から、数字と CircleF とい文字が続いています。これ、実はプロットの情報を表しています。 具体的には、790 行目でプロットのカラーを、791 行目以降、2つの数字は座標を、CircleF はプロットの種類を表しています。プロットの色や種類を変えるとき、理論的にはこちらからプロットの種類を変更できますが、面倒なので、Gnuplot で作り直すことを推奨します。
さて、話がそれました。凡例のプロットは、実は 791 行目から続くようなプロットのデータの一番下に必ずあります。 下の写真では、891 行目でした。
!
4789 203 CircleF の y 座標をラベルと同じ y 座標に変更します。 ここでは、4703 としました。
無事移動できました!ちなみに、プロットするデータが複数ある時、% End plot #1 と書かれたコメントの下に、2 つめのプロットが始まります。
テキストを追加したい
例えばグラフエリアに決定係数を書くなど、新しくテキストだけを追加したいケースも考えられます。では、ラベル名の箇所を見てみましょう。
770 行目~ 774 行目がラベル名を表しているのでした。これでもってテキストを表せるのです。すなわち、同じようなのを書き足してやれば、テキストを追加できます。 やってみましょう。
770 行目~ 774 行目をコピペして、774 行目と 775 行目の間に入れます。そして、決定係数を入れましょう。僕は以下のようにしました。きちんと入っていますね。
おまけ
- 本記事では参考にはしていませんが、「eps 書き方」などでググると諸先輩方の eps グラフィック講座を閲覧できます。
- テキストエディタ Atom では、postscript を色を付けて見れます(僕の載せている写真です)。Atom はフリーでダウンロードできます。Atom ダウンロード後に「language-postscript」というパッケージをダウンロードすると、色を付けて postscript を見ることができるようになります。研究室の人は、Atom もフリーソフトであるので、研究室の PC に入れたいときは、先生に確認してくださいね。