【備忘録】gnuplot グラフと文字の大きさ
gnuplotでフォントサイズを正確に扱う方法ついて、いろいろ調べていました。
論文にグラフを組み込む場合、レイアウトの都合上、グラフ全体で使ってよい幅や高さが決まっていることが多いのですが、gnuplotで適当につくって、TeXでincludegraphicsするときに大きさを指定する方法だと、軸ラベルや凡例などの文字サイズが変わってしまいます。目分量でも気を遣って作れば、見て文句を言う人はいないと思いますが、作る側の気持ちが落ち着かないので、gnuplot側で寸法を決めうちして作成しようと試行錯誤していました。
Webの情報だと、sizeを使って文字とプロットエリアの相対サイズを調整する方式(文字を大きくしたい.)がメジャーなようです。やり方は何でもよかったのですが、最終的な文字サイズを9ptにしたい場合、どのような寸法で作成すればよいのかを計算できることが目的でしたので、gnuplotのグラフサイズや文字サイズの扱いについて調べました。要点は以下の2点です。
- epsを印刷する課程で、全体を0.05倍に拡大(縮小といった方が良いのか)しているようです(size の scaling)。他のterminalの拡大率が0.10倍なので、epsのterminalでは文字サイズが指定の半分の大きさで出てきます。
- terminalには印刷範囲があって、何も指示をしなければグラフは印刷範囲をいっぱいに使うように出力されます(正方形の図を作ると,右に余白ができてしまう.)。postscript epsのデフォルトの印刷範囲は360pt(=127mm)幅です。高さも決まっていますが忘れました。
まず1の性質。ここから、狙ったフォントサイズの2倍程度の文字サイズを指定するとだいたい丁度よくなる、という経験則が概ね正しいことが判りました(簡単GNUPLOT 文字を変えるの節)。貼り付けるときに拡大縮小をしないのならば、10ptのフォントが欲しければ20ptをサイズとして指定するのが正しいです。
そして2の性質。描画する段階ではすでに印刷範囲の縦横比が固定されているので、グラフの縦横比をset square等で指定すると、縦か横のどちらかを使い切る大きさで印刷されることになります。通常、印刷範囲は横長なので正方形のグラフを描くと、両端に広い余白を生じます。
gnuplot4.3以降では、terminalの指定の時に印刷範囲を一緒に指定できるようになった(Canvas size)ようなので、例えば2inch角の範囲に印刷したければset term postsctript eps size 2, 2
とすればよいです(長さの単位はinch)。
以上、gnuplotで文字サイズをきっちりと固定してグラフを描画するtipsでした。以下、関係のない雑談。
フォーサイドの街(pixiv)。瀬尾さんの描く都市はかっこいいなぁ。
最近、狐色さんの暴走が止まらない…(2011-01-25 / 2011-02-18)。もふもふ。
【雑記】plot
今日はgnuplotいじりなどしていました。過去に何度か遊んで、グラフを出力するまでのおおよその手順は把握しているんだけど、実戦で使ったことはまだありません。
グラフを要求される適当な課題が手に入ったので、実際にグラフを描画するべく、調整中。楽しいけど、たぶん他所から見たらグラフ1枚に何時間かけてるんだという感じ。けれど、何時間もかけるほどの微調整に応じてくれるところが余計に好き。