ha's notepad II

メモ書きです。

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) 

(結果)
f:id:halpha656:20130304184246p:plain

見栄えの良いグラフを貼り付けるには、PNGではなくベクタ形式の画像(MS Office系ならemf形式、TeXならepsが良い感じ)にするのが手っ取り早いが、どうしてもラスタ形式で出力したいということもあって悩ましかった。

そんな時は、"png"とは別の"pngcairo"という出力ターミナルを使えばいい。

(コマンド)

set term pngcairo size 400,300
set output "cairo.png"
rep 

(結果)
f:id:halpha656:20130304184645p:plain

こんな感じで、アンチエイリアスのかかったきれいな画像が出力される。その分ファイルサイズも4倍近くに大きくなるが。