余白の書きなぐり

aueweのブログ

Gnuplot で作成したグラフを Inkscape で読み込む

Gnuplot には xtics やら nokey やら、グラフのタイトルやら位置の変更やら、 とにかくグラフの表示に関するありとあらゆるオプションが組み込まれているものの、 覚えるのも調べるのも面倒臭いし、頑張ってオプションを設定しても 思い通りにいかない場合が結構多い。 なので、最終的に論文に載せるグラフは Gnuplot が吐き出した画像ファイルを Inkscape で加工して自分色に染めたものを使っている。

Inkscape で読み込みやすい画像形式は pdf と svg がある。 Gnuplot が得意な出力形式は eps だ。 以下では pdf と svg と eps を使って、 Gnuplot から Inkscape に画像を渡す方法について書く。

pdf を使う場合

たぶんこの方法が一番簡単。 Gnuplotのソースファイルにて

set terminal pdf
set output 'filename.pdf'

とすれば filename.pdf という名でグラフ画像が保存される。 これをInkscapeで読みこめば、「グループ化解除」できる。 加工は思いのままだ。 Inkscape で pdf を読みこむ処理が結構重いけど、そこは我慢しよう。

svg を使う場合

Inkscape で読み込むのだから svg を使うべきという主張は理解できる。 Gnuplotのソースファイルにて

set terminal svg
set output 'filename.svg'

とすれば filename.svg という名でグラフ画像が保存される。 これをInkscapeで読みこめば、「グループ化解除」できる。

基本的にはこれでいいんだけど、古いバージョンの Inkscape にはバグがあって、 うまく読み込めなかった様子。

参考: Gnuplotのsvgファイルをinkscapeでみる方法

では問題なく読み込めた。

Gnuplot が吐き出す SVG ファイルは、インタラクティブに編集していた画像と だいぶ形が変わってる場合があるらしい。

参考: [memo]gnuplotでSVG出力する場合のtips

eps を使う場合

Gnuplot は eps の出力を得意としている。 eps 形式でグラフを描く tips については 論文に使えるグラフを作る(その1) に大変詳細な解説がある。

Gnuplot で eps を吐き出す方法だが、ソースファイルで

set terminal postscript eps color enhanced "Arial" 25
set output 'filename.eps'

とすれば filename.eps が保存される。 作った eps ファイルをInkscapeで読み込むには、コマンドラインで pstoedit コマンドを使用する。

pstoedit -f plot-svg input.eps output.svg

として svg に変換すればよいらしい。

参考:[サイエンス]EPS形式ファイルとその変換 13:37