Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inspiration Thougths #1

mac-r opened this issue Jun 2, 2013 · 1 comment

Inspiration Thougths #1

mac-r opened this issue Jun 2, 2013 · 1 comment


Copy link

@mac-r mac-r commented Jun 2, 2013


You are doing extremely valuable work! I am a mentor from another SciRuby project and other Ruby initiatives in the context of predictive analysis in Ruby.

I'd like to share some of my thoughts with you and hope that they will help you make this project an extremely valuable library for the whole our community:

1. Build a plotting grammar, but not another wrapper.

Rubyvis is used for visualizing data in a pretty conventional way. In fact there is no need for Rubyvis to have such complex DSL as there is. Protovis with a ruby wrapper like Rubyvis is a great attempt to make a great SVG/PNG plotting library. But there were many mistakes in the concept. Repeating these mistakes in the wrapper for D3 is a bad idea, Community doesn't need low level API from D3. It needs a dead simple DSL, which will generate sexy diagrams. Ruby community will greatly appreciate a contribution like this.

2. Use high level API for D3. There are great solutions for that.

Low level D3 wrapper is a bad idea. Many practitioners will agree. Currently people work with Vega ( It is a JSON based plotting grammar for D3. Currently if there is any need to build many different plots people use Vega. This is a great library, which can make Ruby more appealing in the context of data analysis. There should be a wrapper for Vega (in fact it will be a wrapper for D3).

3. Follow ggplot2 as best practice.

Everyone understands, that Ruby community needs gems which will make plotting with Ruby pleasurable. Until there is nothing for this, people use other solutions. Some of them use Pandas, some other researchers use built in R/Matlab/Octave libraries. You should know that there is the only best library in the world, which makes data science really productive. This is the R package called ggplot2. Just look here to understand what features it provides:

ggplot2 is a package, which is extremely difficult to compete with. Ruby community has the only chance to win the battle if we take ggplot2 grammar with Vega + D3 wrapper. If this will be completed then we can make sure that there is a Ruby plotting library, which is the best plotting solution in the world.


Copy link

@zuhao zuhao commented Jun 3, 2013

Thanks a lot for the suggestions, @mac-r.

I agree with you and in fact I've brought up similar concerns in the very beginning, but at that time the other mentors seemed to be okay with the approach so I proceeded. However it's still in a very early stage now, and I'm open to any changes, whichever serves the community best. :)

I've started a discussion in the mailing list so that hopefully it reaches more SciRuby developers. We'll see what others think of this issue.

Again, I really appreciate your valuable thoughts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.