2009年03月03日(火) [長年日記]
■ [ruby][dev] Ruby Gnuplotを使った

Ruby Gnuplotを使ったのでメモ。
Ruby GnuplotはgnuplotをRubyから使うためのライブラリ。gnuplot自体を使ったことがない(大昔に使ったかも)ので苦労したが、なんとか動かせた。
星形を描くサンプルプログラムを示す。
#!/usr/bin/ruby
#coding: utf-8
require "rubygems"
require "gnuplot"
# プロットするデータ
triangle1 = [[10, 70, 40], [20, 20, 70],
[60, -30, -30], [ 0, 50, -50]]
triangle2 = [[10, 70, 40], [60, 60, 10],
[60, -30, -30], [ 0, -50, 50]]
Gnuplot.open {|gp|
Gnuplot::Plot.new(gp) {|plot|
# gnuplotにsetできるオプションは全てPlotクラスのメソッドになっている
plot.terminal("png")
plot.output("graph-sample.png")
plot.xrange("[0:80]")
plot.yrange("[0:80]")
plot.size("square 0.5,0.5")
plot.title("Star")
triangle1[0].each_index {|i|
plot.label("\"[#{i}]\" at #{triangle1[0][i]},#{triangle1[1][i]}")
}
# プロットするデータをDataSetへ込めてPlot#dataに設定する
plot.data = [
Gnuplot::DataSet.new(triangle1) {|ds|
ds.with = "vectors"
ds.notitle
},
Gnuplot::DataSet.new(triangle2) {|ds|
ds.with = "vectors"
ds.notitle
}
]
}
}
■ やること
- 請書
[ツッコミを入れる]