UP
gnuplotのグラフの線の太さを変える
gnuplotが吐くepsの線幅は結構細いので太くしたい。epsファイル中
/gnulinewidth 5.000 def
が大元の線の太さを決めているので適当に例えば
/gnulinewidth 12.000 def
などとする。するとグラフの外枠が太くなりすぎるので、外枠に使っている線の幅は
gnulinewidthの2倍、としている箇所
/BL {stroke userlinewidth 2 mul setlinewidth ...
を2倍ではなく1.2倍
/BL {stroke userlinewidth 1.2 mul setlinewidth ...
などとする(userlinewidthはgnulinewidthと同じと定義されている)。
変更前
変更後
これを自動でやってくれるrubyのスクリプト:
#!/usr/bin/ruby
if ARGV.size >= 1
f = open(ARGV[0],"r")
str=f.read
f.close
f = open(ARGV[0],"w")
str.gsub!(/gnulinewidth 5.000 def/,"gnulinewidth 12.000 def")
f.write(str.gsub(/BL \{stroke userlinewidth 2 mul/,"BL {stroke userlinewidth 1.2 mul"))
f.close
else
print "usage: gl.rb <gnuplot_eps_file_to_change_linewidth>\n"
end
これを"gl.rb"などの名前で保存(&実行許可)しておけば例えば
> gl.rb test.eps
でepsファイル"test.eps"を書き換えてくれる。
2012/10/05 09:36:33
更新