Gnuplot with ruby - unset variable?

M

M3tr0 G33k

Hi all,

Seems like rgplot2.2 is inactive - is this correct?
I am used to gnuplot, so I went to it first when starting with Ruby.
One problem - trying to replicate 'unset border'

All of the 'set' actions in Gnuplot::plot are listed individually.
This means that to do 'set border <some args>' you do plot.border "<some
args>".

But to do 'unset border' you can't do plot.border "unset" because you
get an error from gnuplot like 'set unset border ERROR'. This seems
right for the way rgplot works, but how do you do 'unset border'?

Should I give up and use R :?

Thanks in advance, if anyone can help

m3tr0g33k
 
A

Axel Etzold

Hi ---
But to do 'unset border' you can't do plot.border "unset" because you
get an error from gnuplot like 'set unset border ERROR'. This seems
right for the way rgplot works, but how do you do 'unset border'?

It seems that earlier versions of Gnuplot used to have the command
set no<command>
instead of
unset <command> ,

and rgplot expects this ... and hasn't been updated for a while.
When I enter "set noborder" in my Gnuplot 4.2 at the command line, it complains about a deprecated
syntax, but nevertheless removes the border.
Should I give up and use R :?

Maybe you'll also have a look at tioga (rubyforge.org/projects/tioga/) for an alternative
to Gnuplot. Should you know how to compile it in Windows, please leave a note.

Best regards,

Axel
 
J

Joel VanderWerf

M3tr0 said:
Hi all,

Seems like rgplot2.2 is inactive - is this correct?
I am used to gnuplot, so I went to it first when starting with Ruby.
One problem - trying to replicate 'unset border'

All of the 'set' actions in Gnuplot::plot are listed individually.
This means that to do 'set border <some args>' you do plot.border "<some
args>".

But to do 'unset border' you can't do plot.border "unset" because you
get an error from gnuplot like 'set unset border ERROR'. This seems
right for the way rgplot works, but how do you do 'unset border'?

Should I give up and use R :?

Thanks in advance, if anyone can help

m3tr0g33k

Hello, Mr. G33k,

I use an interface[1] that doesn't attempt to turn gnuplot commands into
objects and methods--you just pipe commands to gnuplot. But it does
solve a number of other problems, like passing your data via tempfiles
to gnuplot and persisting windows, both Windows and X11. (Persisting
windows on X11 is kinda tricky[2] for gnuplot version <4.3--if you do it
wrong you end up with zombie processes, and the -persist option is not
acceptable since it disables mouse interaction.) No docs, but there are
some examples[3] that should explain how to use it.

[1] http://redshift.sourceforge.net/sci/

[2] http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/293549

[3] Simple example:

require 'sci/plot'
include Plot::plotUtils

sin_graph, cos_graph = [], []

0.step(2*Math::pI, 0.01) do |x|
sin_graph << [x, Math::sin(x)]
cos_graph << [x, Math::cos(x)]
end

plot = gnuplot do |plot|
plot.command %{set title "Plot example"}
plot.command %{set xlabel "x"}
plot.command %{set ylabel "y"}
plot.add sin_graph, %{title "sin(x)" with lines}
plot.add cos_graph, %{title "cos(x)" with lines}
plot.add "sin(x) + 1", %{title "sin(x) + 1"}
end
 
M

M3tr0 G33k

Thanks for your reply, Joel VanderWerf.

I am mainly getting data from csv files and plotting to ps images.
Thankfully window persistence doesn't bother me (yet).

Appreciate your input,

m3tr0g33k
 
J

Joel VanderWerf

M3tr0 said:
Thanks for your reply, Joel VanderWerf.

I am mainly getting data from csv files and plotting to ps images.
Thankfully window persistence doesn't bother me (yet).

Ok. If you ever write a GUI that puts up graph windows that the user can
control and dismiss, then my lib may be useful.
 
P

Philip Rutkowski

M3tr0 said:
Hi all,

Seems like rgplot2.2 is inactive - is this correct?
I am used to gnuplot, so I went to it first when starting with Ruby.
One problem - trying to replicate 'unset border'

All of the 'set' actions in Gnuplot::plot are listed individually.
This means that to do 'set border <some args>' you do plot.border "<some
args>".

But to do 'unset border' you can't do plot.border "unset" because you
get an error from gnuplot like 'set unset border ERROR'. This seems
right for the way rgplot works, but how do you do 'unset border'?

Should I give up and use R :?

Thanks in advance, if anyone can help

m3tr0g33k

FYI (I know this was days ago), but if you want to unset something like
ytics for example, you would write plot.noytics. If you wanted to unset
border you would write plot.noborder. Hope that helps.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,965
Messages
2,570,148
Members
46,710
Latest member
FredricRen

Latest Threads

Top