Gnuplot 5で破線とか

Motivation

gnuplot を使うときには line style を定義してそれを参照することで線種や点種を指定している。 gnuplotが5.0になって破線の表示ができなくなったので調べたら、どうやら指定方法が変わったらしい。

これまで

~/.gnuplot を作成して set line style していた。 こんな感じ。 linetype (lt) によって線種が変更されていた。

set style line 1 pt lt 1 lw 2 lc rgb "blue"
set style line 2 pt lt 2 lw 2 lc rgb "red"
set style line 3 pt lt 3 lw 2 lc rgb "#008800"
set style line 4 pt lt 4 lw 2 lc rgb "#EE00EE"
set style line 5 pt lt 5 lw 2 lc rgb "#EE8811"

set style increment user

プロットする側ではこんな感じにして eps enhanced を指定して出力。 color を消せばモノクロになる。

set term postscript eps enhanced color "TimesNewRoman" 22
set output "hoge.eps"
plot "hoge.dat" u 1:2 w lp ls 1, \
     "hoge.dat" u 1:3 w lp ls 2

5.0から

dashtype (dt) というのを使って破線の形を指定できるようになったらしい。

set style line 1 pt 6                       lw 2 lc rgb "blue"
set style line 2 pt 2  dt (5,5)             lw 2 lc rgb "red"
set style line 3 pt 8  dt (30,10,5,10)      lw 2 lc rgb "#008800"
set style line 4 pt 4  dt (20,10)           lw 2 lc rgb "#EE00EE"
set style line 5 pt 12 dt (30,10,5,10,5,10) lw 2 lc rgb "#EE8811"

set style increment user

あとは同じ。

ターミナルテスト

点の種類や線の種類、 dashtype の例はターミナルテストをすると得ることができる。 自分はEPSを出力した後にPDF化して保存し、必要なときに参照している。

set output "gnuplot_eps-test.eps"
set term postscript eps enhanced
test

set output "gnuplot_eps_color-test.eps"
set term postscript eps enhanced color
test