>ruby test.rb
c:/programs/ruby/lib/ruby/gems/1.8/gems/gnuplot-2.1/lib/gnuplot.rb:20:in
`popen': No such file or directory - which gnuplot (Errno::ENOENT)
from
c:/programs/ruby/lib/ruby/gems/1.8/gems/gnuplot-2.1/lib/gnuplot.rb:20:in
`open'
from test.rb:2
>Exit code: 1
my test code is copied directly from the gnuplot ruby project web page
except the added require 'gnuplot' which is not mentioned in the example. I
think I am missing something simple here.
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
any help is appreciated.
> I installed gnuplot gem, and I am getting some syntax errors when I try to
> run the samples on the projects web page.
>
>> ruby test.rb
> c:/programs/ruby/lib/ruby/gems/1.8/gems/gnuplot-2.1/lib/gnuplot.rb:20:in
> `popen': No such file or directory - which gnuplot (Errno::ENOENT)
> from
it looks like the code must do
IO::popen `which gnuplot`
so either
- gnuplot is not on your system
- gnuplot is not in your path
can you verify both of these? from the shell do
~:> which -a gnuplot
-a
--
===============================================================================
| email :: ara [dot] t [dot] howard [at] noaa [dot] gov
| phone :: 303.497.6469
| anything that contradicts experience and logic should be abandoned.
| -- h.h. the 14th dalai lama
===============================================================================
Ara is completely correct with his diagnosis. You have two choices,
either ensure that gnuplot is in your path or hardcode the path in the
gnuplot.rb file. I've struggled for a number of years on how to
improvie this but haven't been able to come up with something better
that satisfies my sense of right and wrong. Suggestions would be
appreciated.
Gordon
<gordon....@gmail.com> wrote in message
news:1129898636.0...@z14g2000cwz.googlegroups.com...
maybe somthing like (un-tested):
def which bin
path = ENV['PATH'] # || ENV['WHAT_EVER_WINDOWS_PATH_VAR_IS']
path.split(File::PATH_SEPARATOR).each do |dir|
candidate = File::join dir, bin
return candidate if File::executable? candidate
end
return nil
end
gnuplot = ENV['RB_GNUPLOT'] || 'gnuplot'
gnuplot = which gnuplot or raise 'gnuplot is not in your path'
or, if windows isn't a concern
gnuplot = `which gnuplot`
raise 'gnuplot not in your path' unless $? == 0
IO::popen gnuplot
thanks for the good work on gnuplot btw - i've used in many times.
cheers.
"Ara.T.Howard" <Ara.T....@noaa.gov> wrote in message
news:Pine.LNX.4.62.05...@harp.ngdc.noaa.gov...
(This is on linux)
Edwin
--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
pth
I'll put something like Ara mentioned into the codebase and put a new
release out within the next week. Thanks for the good suggestions.
Gordon