どうも,Hiro(@hiroloquy)です.
以前,testコマンドを使った出力サンプルの生成方法を紹介しました.このときのterminal
はqt
です.
ただ,gnuplotでは様々なターミナルの種類を変更することができます.
qt
で別ウィンドウを生成してグラフをすぐに描画(前回の記事参照)jpeg
/png
で描画したグラフを画像として保存gif
でパラメータの変化によるグラフの変動をGIFアニメを作成eps
/pdf
でレポート・論文用のベクター画像を作成
これらはラベルのフォントやグラフの線幅,色の感じなどが微妙に違っていたりします.
そこで,9種類の出力形式(qt,png,pngcairo,jpeg,gif,svg,postscript,epscairo,pdfcairo)の出力サンプルをすべて生成して比較します.
gnuplotで画像出力するときの参考になると思います.
9種類のterminalのサンプルを生成するプログラム
見出しのとおり,9種類のterminal
のtest
を実行するプログラムです.本プログラムはGitHubで公開しています.
terminalの形式によって後続のオプションが変わってきます.詳しく知りたい方は竹野研究室@新潟工科大学のページを参考に.今回の実行環境はこちらです.
9種類のターミナルのサンプル
pltファイル内の6行目以降で指定したqt,png,pngcairo,jpeg,gif,svg,postscript,epscairo,pdfcairoそれぞれでの画像がフォルダに保存されます.
出力結果 (test terminal)
画像をクリックすると拡大して確認できます.
※1 svg,postscript,epscairo,pdfcairoで出力したファイルは本ブログ上にアップロードできなかったので,Macの「プレビュー 」の”書き出し”でpngファイルに変換してます.
※2 postscriptにおいてはMacの「プレビュー」にて画像のような警告が表示された.解決策が分からず,今回は対処せず放置した.ただ,Helveticaの太字とイタリックが対応できなかっただけならさほど問題はなさそう.
PostScript Conversin Warning
Mac の「プレビュー」 で表示された警告文
PostScriptファイル”test_postscript.eps”の変換で次の警告がありました:
・Helvetica:Bold not found, using Courier.
・Helvetica:Italic not found, using Courier.
結果の比較
9枚の画像をよくよく見て比較すると,違いがちらほらありました.
フォント
- qtのフォントが他より小さすぎる
- Enhanced textのn+1と0の間の距離が,png,pngcairo,jpeg,gif,epscairo,pdfcairoではほぼゼロになっている.上付き文字と下付き文字の同時使用は避けたほうがいい
点線パターン (dashtype)
png,jpeg,gifの点線パターンがすべて実線になっているため,この3つのターミナルでは点線は使用不可.
多角形の塗りつぶし (filled polygons)
- postscriptのみ透過 (transparent) が無効になっている
- png,jpeg,gifでの青と緑が少し明るく見える
左側の矢印 (set arrow)
png,jpeg,gifでは矢印が黒色,他のターミナルでは矢印が赤色になっている.
パレットのサンプル (set palette)
これらの間にそこまで大きな違いはありませんでしたが,数個あったのでそれだけ紹介します.
まとめ
今回は9種類のterminalのサンプルを比較してみました.gnuplotの出力結果を画像保存する際に参考にしてみてください.
コメント