ruby+gnuplot が使える。
#!/usr/koeki/bin/ruby
#coding: euc-jp
require 'gnuplot'
Gnuplot.open do |gp|
Gnuplot::Plot.new( gp ) do |plot|
plot.title "Array Plot Example"
plot.ylabel "x"
plot.xlabel "x^2"
x = (0..50).collect { |v| v.to_f }
y = x.collect { |v| v ** 2 }
plot.data << Gnuplot::DataSet.new( [x, y] ) do |ds|
ds.with = "linespoints"
ds.notitle
end
end
end
#!/usr/koeki/bin/ruby
# -*- coding: euc-jp -*-
require 'gnuplot'
Gnuplot.open do |gp|
Gnuplot::Plot.new( gp ) do |plot|
plot.xrange "[-10:10]"
plot.title "Sin Wave Example"
plot.ylabel "x"
plot.xlabel "sin(x)"
plot.data << Gnuplot::DataSet.new( "sin(x)" ) do |ds|
ds.with = "lines"
ds.linewidth = 4
end
end
#sleep 10
end
#!/usr/koeki/bin/ruby
# -*- coding: euc-jp -*-
require 'gnuplot'
Gnuplot.open do |gp|
File.open( "gnuplot.dat", "w") do |gp|
Gnuplot::Plot.new( gp ) do |plot|
plot.xrange "[-10:10]"
plot.title "Sin Wave Example"
plot.ylabel "x"
plot.xlabel "sin(x)"
x = (0..50).collect { |v| v.to_f }
y = x.collect { |v| v ** 2 }
plot.data = [
Gnuplot::DataSet.new( "sin(x)" ) { |ds|
ds.with = "lines"
ds.title = "String function"
ds.linewidth = 4
},
Gnuplot::DataSet.new( [x, y] ) { |ds|
ds.with = "linespoints"
ds.title = "Array data"
}
]
end
end
#!/usr/koeki/bin/ruby
# -*- coding: euc-jp -*-
require 'gnuplot'
Gnuplot::SPlot.new( gp ) do |plot|
plot.xrange "[-10:10]"
plot.yrange "[-10:10]"
plot.title "Example"
plot.ylabel "y"
plot.xlabel "x"
plot.zlabel "z"
x_dots = Range.new(-10, 10).to_a
y_dots = Range.new(-10, 10).to_a
data = Array.new
z = Array.new
x_dots.each_with_index do |x, i|
z[i] = Array.new
y_dots.each_with_index do |y, j|
z[i][j] = x ** 2 + y ** 2
end
end
data = [x_dots, y_dots, z]
plot.data << Gnuplot::DataSet.new( data ) do |ds|
ds.with = "points"
end
end
end