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 } ] } }
■ やること
- 請書