Rubyvis question

23 views
Skip to first unread message

Eric MacAdie

unread,
Aug 1, 2012, 12:03:19 AM8/1/12
to sciru...@googlegroups.com
According to http://mbostock.github.com/protovis/, Protovis is being discontinued, and is being replaced with D3.

Is rubyvis going to be changed to use D3? I looked through the repo, and I saw nothing that seemed to cover this topic.

- Eric MacAdie

Claudio Bustos

unread,
Aug 1, 2012, 12:10:57 AM8/1/12
to sciru...@googlegroups.com
Eric:

Rubyvis uses the API of Protovis and much of the logic of the
implementation, but isn't directly related to D3 developer. Is a
separate effort.
--
Claudio Bustos
Psicólogo
clbu...@gmail.com

John Prince

unread,
Aug 1, 2012, 11:14:37 AM8/1/12
to sciru...@googlegroups.com
i.e., if we like the d3 api or capabilities we will need to create a new project.  Rubyvis is a mature port of protovis.  It doesn't make a lot of sense to try and tack on a completely separate interface at this point.

Someone could always make a port/wrapper around d3, using what was learned in making rubyvis...


Ra

unread,
Aug 1, 2012, 11:24:21 AM8/1/12
to sciru...@googlegroups.com
I have a student that is working on this topic

have a look here 

any hints is more than welcome


On Wed, Aug 1, 2012 at 5:14 PM, John Prince <jtpr...@gmail.com> wrote:
i.e., if we like the d3 api or capabilities we will need to create a new project.  Rubyvis is a mature port of protovis.  It doesn't make a lot of sense to try and tack on a completely separate interface at this point.

Someone could always make a port/wrapper around d3, using what was learned in making rubyvis...





--
Ra

Eric MacAdie

unread,
Aug 1, 2012, 11:25:34 AM8/1/12
to sciru...@googlegroups.com
I asked because I thought that there might be a need to change rubyvis to use D3 instead of protovis. If there is no need to port, then never mind.

- Eric MacAdie

John Prince

unread,
Aug 1, 2012, 11:52:57 AM8/1/12
to sciru...@googlegroups.com
I asked because I thought that there might be a need to change rubyvis to use D3 instead of protovis. If there is no need to port, then never mind.

D3 does seem to be the next big thing, so it's worth thinking about, even if it is not a pressing issue.
 
I have a student that is working on this topic

awesome.  Please keep us updated on progress. 

John Woods

unread,
Aug 1, 2012, 2:59:58 PM8/1/12
to sciru...@googlegroups.com
I'm not entirely sure I'm satisfied with protovis or d3 as a plotting solution for Ruby. It's decent for producing really high-quality plots, but we really need a solution for quick-and-dirty plotting. That may be a few convenience functions or it may be something else entirely.

John W.

Daniel Carrera

unread,
Aug 1, 2012, 3:48:16 PM8/1/12
to sciru...@googlegroups.com
Gnuplot?

I would be interested to know how Octave uses Gnuplot to create a clone of MATLAB's plotting function and whether we can copy it. I will not always advocate copying Matlab just because it is popular, and I don't want SciRuby to be a Matlab clone. But in the area of plotting, I think Matlab's API is as good as any I've seen and better than some. Since I don't have any ideas for a revolutionary improvement on plotting APIs, why don't we pick something that will make it easier for people to migrate to SciRuby?

Incidentally, I think Python's matplotlib has the right idea. At the most basic level they copied Matlab, but they were happy to deviate from Matlab when they thought they had a better idea. An example of that is that titles are done differently in matplotlib. I don't have strong feelings on which one is better (I think it's an unimportant choice) but I commend the principle of copying Matlab but being willing to deviate when you think you can do better.

The problem with Matplotlib is that it only does 2D plotting and the way SciPy does 3D plotting (surface plots) feels very complex and convoluted. So I would advocate using a backend that can already support both 2D and and surface plots. I think Gnuplot fits the bill.

Octave has proven that you can use Gnuplot to make functions plot(), surf() and mesh() for 2D and surface plotting that is competitive with the ones from Matlab. If we can copy their Matlab-to-Gnuplot conversion, that might be the perfect solution for SciRuby at this time.

Cheers,
Daniel.

John Woods

unread,
Aug 1, 2012, 3:52:18 PM8/1/12
to sciru...@googlegroups.com
I'll just say that I think the holy grail is out there, and remains undiscovered. I've never before been satisfied with a plotting package -- I think they're mostly all just too hacked together.

With that said, Mathematica's is really decent.

John

John Prince

unread,
Aug 1, 2012, 4:03:30 PM8/1/12
to sciru...@googlegroups.com
I also tend to come back to gnuplot again and again in my work.  It does a lot of things really well.  Also, they keep making improvements (better front-ends qt and wxWidgets, cairo backend now, etc), so if you haven't used it in a while, it is much more polished than it used to be.  Their line style notation sure is clunky...   

I have doubts about it being the right system to build sciruby on, but it should probably be on the short list of possibilities.

I thought I remember reading that R plotting is also somehow built on top of gnuplot (maybe in its early days). [maybe that is octave]

Daniel Carrera

unread,
Aug 1, 2012, 4:05:51 PM8/1/12
to sciru...@googlegroups.com
It looks like Octave is moving or has moved to a new backend based on FLTK + OpenGL. Apparently they can provide better compatibility with Matlab that way.

Daniel Carrera

unread,
Aug 1, 2012, 4:33:40 PM8/1/12
to sciru...@googlegroups.com
Correction: I shouldn't have said "moved". They are going to keep Gnuplot in addition to adding a second FLTK+Octave backend.

I personally do all my plotting in Gnuplot. There are some things I really don't like about it (e.g. using numbers for list styles and colours and so on) but it still manages to outperform other alternatives so far. So Gnuplot should definitely be in the candidate list.

Cheers,
Daniel.
Reply all
Reply to author
Forward
0 new messages