gnuplotで日本語文字を含むグラフをEPS形式で保存する

はじめに

準備しておいてください

Windows版gnuplotの利用に当たって

Windows版のgnuplotを起動すると,シンプルなウインドウが立ち上がります(最小化した状態になっているかもしれませんので,元のサイズに戻してください). このままの状態では日本語が表示できませんので,フォントの設定が必要です. 以下にその手順を示します.

  1. ウインドウ内の白い部分で,「右ボタンをクリック」します.
  2. 表示されるメニューから「Choose Font」を選択します.
  3. フォント選択ウインドウの下部にある文字セットを「欧文」から「日本語」に変更してOKボタンを押します.

この設定はgnuplotを閉じるまで有効です. gnuplotを起動し直したときは,もう一度設定し直してください.

プロットファイルの利用

プロットファイルとは

本題に入る前に,プロットを簡単に実行する方法について説明します. 通常,gnuplotを起動すると,コマンド入力を受け付けるウインドウが開きます. ここでコマンドを入力することにより,グラフを描くことができます. しかし,細かな設定をしたり,大量にグラフを作成する場合,入力量がとても多くなってしまいます.

この面倒な作業を簡単にするために,キーボードから入力する内容をあらかじめファイルに書き込んでおきます. gnuplotには,そのファイルを読み込んで一気に実行する機能があります. このファイルは「プロットファイル」と呼ばれています. これ以降は,必ずプロットファイルを利用することにします.

簡単な使用例

プロットファイルの利用方法について,簡単な例を紹介します. エディタを開き,以下の内容を書き込んで,適当なファイル名で保存します. この例では,example.pltという名前を付けることにします.

set border 3
set xtics nomirror
set ytics nomirror
set xlabel "days in milk"
set ylabel "milk yield (kg)"
plot [1:300][0:35] 35.0-0.09*x-18.0*exp(-0.05*x) title "Cow 1", \
                   30.0-0.06*x-15.0*exp(-0.05*x) title "Cow 2", \
                   25.0-0.03*x-10.0*exp(-0.05*x) title "Cow 3"

gnuplotからプロットファイルを読み込むには,いくつかの方法があります. 最も単純な方法は,ファイルのアイコンを,gnuplotのウインドウにドロップすることです.

figure for DnD

入力にエラーが無ければ,グラフが表示されます. また,gnuplotのウインドウには,ファイルを読み込むコマンド(load)とプロットファイル名が書き込まれているはずです.

プロットファイルを書き換えたとき,そのファイルを読み直さなければなりません. 簡単に操作するには,gnuplotのウインドウでキーボードの「上矢印」キーを押して,Entaerキーを押します(もちろん,もう一度マウスを操作してもかまいません).

グラフを保存するための準備

このままの状態で単にグラフを保存しようとすると,gnuplotのプログラムが置いてあるフォルダに画像ファイルができてしまいます. プロットファイルと同じフォルダに画像を保存するためには,フォルダを移動しなければなりません(gnuplotにも,いわゆる cd コマンドが存在します).

前述の状態で,gnuplotのウインドウで「上矢印」キーを押すと,loadから始まるコマンドが書かれています. この内容からファイル名部分を削除し,loadcdに書き換えて,Enterキーを押します. 具体的には,以下のようになります.

(編集前) load 'C:\Documents and Settings\username\デスクトップ\example.plt'
(編集後) cd 'C:\Documents and Settings\username\デスクトップ'

上の内容は,あくまでも例であり,実際に表示されるものとは異なります. また,日本語を含む場合,入力しているうちに文字化けするかもしれません. Enterキーを押したときにエラーが出なければ問題ありませんが,エラー時には入力し直してください.

この設定はgnuplotを閉じるまで有効です. 画像ファイルの保存先を変更したいときには,ここの設定を修正する必要があります.

日本語を含むEPSファイルの保存

プロットファイルの作成

先ほど示したグラフについて,日本語を含むEPSファイルを保存してみます. プロットファイルを以下のように修正します. このファイルは,文字コードをEUCとして保存してください.

set terminal postscript eps enhanced "GothicBBB-Medium-EUC-H" 20
set output 'graph.eps'

set border 3
set xtics nomirror
set ytics nomirror
set xlabel "泌乳日数"
set ylabel "乳量 (kg)"
plot [1:300][0:35] 35.0-0.09*x-18.0*exp(-0.05*x) title "雌牛 1", \
                   30.0-0.06*x-15.0*exp(-0.05*x) title "雌牛 2", \
                   25.0-0.03*x-10.0*exp(-0.05*x) title "雌牛 3"

set output
set terminal windows

このファイルをgnuplotで読み込ませます. エラーが無ければ,同じフォルダにgraph.epsという画像ファイルが出来ているはずです. 以下の図は,これをWindows版Ghost Viewで閲覧したときのものです.

figure for DnD

フォントの指定

上の例では,1行めにおいてEPS形式の設定を行っています. この部分の意味と設定方法については,マニュアルに詳しく書かれています. おおざっぱには,以下のように記述します.

set terminal postscript eps enhanced "フォント名" フォントサイズ

ここで指定したフォントとフォントサイズは,ファイル中の全ての文字に適用されます. フォントサイズは,実際に試行錯誤してみて,もっともバランスの良い値を入れておくのが良いと思います(省略することも可能です). 日本語フォント名には何でも指定できますが,以下の2つを利用するとトラブルが起こりにくいです(むしろ,これ以外は指定しない方がよいです).

EPSのフォントは文字化けや表示されないなどのトラブルが起こりやすく,(慣れていないと)問題の解決に時間がかかります. そのため,このページでは問題の起こりにくいEUCを利用しました.

もっと細かなフォントの指定

グラフ全体を日本語フォントで表示すると,英数字までも置き換わります. 人によっては,英数字に限って標準の欧文フォントが使いたいと考えるかもしれません. グラフ中の英数字は,標準のフォント(Helveticaという名前です)にできないものでしょうか.

gnuplotが出力したEPSファイルは,実は単なるテキストファイルです. したがって,エディタで読んだり編集したりできます. 先ほど作成したEPSファイルをエディタで開くと,ところどころにGothicBBB-Medium-EUC-Hという文字列が見えます. これをHelveticaに置き換えると,その部分のフォントが置き換わります.

しかし,この方法には問題もあります. 上の例では「乳量(kg)」という文字列が含まれています. 最初の「乳量」がGothicBBBで,後半の「kg」をHelveticaにしたい場合,単純な置換では解決できません. この部分だけを日本語のままにすると,「kg」のデザインが目立ってしまいます. この問題の解決には,それなりの試行錯誤が必要です.


© 2005-2007 MASUDA, Yutaka
s15274{at}st.obihiro.ac.jp