gnuplotのPNG出力でアンチエイリアス
gnuplot(Ver4.6)で関数やデータをプロットして、どこかに貼り付けたいというとき、
set terminal XXX set output "(filename)" replot
と打てばいろいろな形式で保存が可能(Windowsなら戻すにはwxtと打てばOK)。
XXXにはだいたい拡張子を入れれば、あまり考えなくても好きな形式で出力できるのは魅力だが、PNGで普通に出力しようとすると以下のような、アンチエイリアスのかかってない画像が出てくる。
(コマンド)
set term png size 400,300 set output "normal.png" plot sin(x),0.5+0.3*cos(x), -sin(x/2+1)
(結果)
見栄えの良いグラフを貼り付けるには、PNGではなくベクタ形式の画像(MS Office系ならemf形式、TeXならepsが良い感じ)にするのが手っ取り早いが、どうしてもラスタ形式で出力したいということもあって悩ましかった。
そんな時は、"png"とは別の"pngcairo"という出力ターミナルを使えばいい。
(コマンド)
set term pngcairo size 400,300 set output "cairo.png" rep
(結果)
こんな感じで、アンチエイリアスのかかったきれいな画像が出力される。その分ファイルサイズも4倍近くに大きくなるが。