【gnuplot】9種類のterminalの出力サンプルを比較

スポンサーリンク
gnuplot
この記事の内容
  • gnuplotのtestコマンドによるterminalの出力サンプルを比較
  • 9種類(qt,png,pngcairo,jpeg,gif,svg,postscript,epscairo,pdfcairo)を比較

どうも,Hiro(@hiroloquy)です.

以前,testコマンドを使った出力サンプルの生成方法を紹介しました.このときのterminalqtです.

ただ,gnuplotでは様々なターミナルの種類を変更することができます.

  • qtで別ウィンドウを生成してグラフをすぐに描画(前回の記事参照)
  • jpeg / pngで描画したグラフを画像として保存
  • gifでパラメータの変化によるグラフの変動をGIFアニメを作成
  • eps / pdf でレポート・論文用のベクター画像を作成

これらはラベルのフォントやグラフの線幅,色の感じなどが微妙に違っていたりします

そこで,9種類の出力形式(qt,png,pngcairo,jpeg,gif,svg,postscript,epscairo,pdfcairo)の出力サンプルをすべて生成して比較します.

gnuplotで画像出力するときの参考になると思います.

スポンサーリンク

9種類のterminalのサンプルを生成するプログラム

見出しのとおり,9種類のterminaltestを実行するプログラムです.

Test_in_various_terminal_type.plt

#=================== Save in folder ====================
folderTerm = 'terminal'
folderPale = 'palette'
system sprintf('mkdir %s %s', folderTerm, folderPale)

#=================== Test in varioius terminal type ====================
set terminal qt 0
test
set terminal qt 1
test palette

set terminal png truecolor enhanced
set output sprintf('%s/test_png.png', folderTerm)
test
set output sprintf('%s/test_png.png', folderPale)
test palette

set terminal pngcairo truecolor enhanced
set output sprintf('%s/test_pngcairo.png', folderTerm)
test
set output sprintf('%s/test_pngcairo.png', folderPale)
test palette

set terminal jpeg truecolor enhanced
set output sprintf('%s/test_jpeg.jpeg', folderTerm)
test
set output sprintf('%s/test_jpeg.jpeg', folderPale)
test palette

set terminal gif truecolor enhanced
set output sprintf('%s/test_gif.gif', folderTerm)
test
set output sprintf('%s/test_gif.gif', folderPale)
test palette

set terminal svg enhanced
set output sprintf('%s/test_svg.svg', folderTerm)
test
set output sprintf('%s/test_svg.svg', folderPale)
test palette

set terminal postscript eps enhanced color
set output sprintf('%s/test_postscript.eps', folderTerm)
test
set output sprintf('%s/test_postscript.eps', folderPale)
test palette

set terminal epscairo enhanced
set output sprintf('%s/test_epscairo.eps', folderTerm)
test
set output sprintf('%s/test_epscairo.eps', folderPale)
test palette

set terminal pdfcairo enhanced color
set output sprintf('%s/test_pdfcairo.pdf', folderTerm)
test
set output sprintf('%s/test_pdfcairo.pdf', folderPale)
test palette

terminalの形式によって後続のオプションが変わってきます.詳しく知りたい方は竹野研究室@新潟工科大学のページを参考に.今回の実行環境はこちらです.

実行環境
  • macOS Catalina 10.15.6
  • gnuplot version 5.4 patchlevel 0
スポンサーリンク

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
PostScriptファイル”test_postscript.eps”の変換で次の警告がありました:
・Helvetica:Bold not found, using Courier.
・Helvetica:Italic not found, using Courier.

Mac の「プレビュー」 で表示された警告文
“PostScript Conversion Warning” (Mac “Preview”)

結果の比較

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種のサンプルを比較
  • postscriptのカラーバー (set colorbox) が上手く表示されいてない
  • グリッド線 (set grid) の濃さが異なる.png,jpeg,gifは線が濃く,svgは普通,残りは薄めとなっている

まとめ

今回は9種類のterminalのサンプルを比較してみました.
gnuplotの出力結果を画像保存する際に参考にしてみてください.

コメント

タイトルとURLをコピーしました