Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Gnuplot with ruby - unset variable?

46 views
Skip to first unread message

M3tr0 G33k

unread,
Jul 7, 2008, 9:06:44 AM7/7/08
to
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
--
Posted via http://www.ruby-forum.com/.

Axel Etzold

unread,
Jul 7, 2008, 10:33:06 AM7/7/08
to
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


--
Psssst! Schon das coole Video vom GMX MultiMessenger gesehen?
Der Eine für Alle: http://www.gmx.net/de/go/messenger03

Joel VanderWerf

unread,
Jul 7, 2008, 12:17:29 PM7/7/08
to

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

--
vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407

Joel VanderWerf

unread,
Jul 7, 2008, 12:30:20 PM7/7/08
to
Joel VanderWerf wrote:
> No docs, but there are
> some examples[3] that should explain how to use it.

Well, minimal docs now.

M3tr0 G33k

unread,
Jul 7, 2008, 1:45:49 PM7/7/08
to
Axel Etzold wrote:

> Best regards,
>
> Axel

Thanks!
Works a treat.

M3tr0 G33k

unread,
Jul 7, 2008, 1:52:17 PM7/7/08
to
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,

Joel VanderWerf

unread,
Jul 7, 2008, 2:53:35 PM7/7/08
to
M3tr0 G33k wrote:
> 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.

Philip Rutkowski

unread,
Jul 16, 2008, 7:36:13 PM7/16/08
to

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.

0 new messages