Vega/D3-based plotting gem for Ruby


Plotrb is an experimental plotting library for the Ruby language. It brings the simplicity of Vega and the power of D3 to the Ruby science community, to allow for fast, customizable design; reusability and shareability; programmatic generation of visualizations; and improved performance and platform flexibility.

Plotrb is in many ways the child of Rubyvis (the Ruby port of Protovis). However, it improves upon Rubyvis in that it uses a DSL that will be much more familiar and natural to Ruby coders.

Plotrb was created by Wan Zuhao as part of Google's Summer of Code 2013. It is part of SciRuby.


Add this line to your application's Gemfile:

gem 'plotrb'

And then execute:


Or install it yourself as:

gem install plotrb


Currently, Plotrb is intended to generate JSON specification for Vega. If you would like to see the visualization rendered in PNG or SVG, you will have to install Vega and use its Headless Mode.

Note that Plotrb is a work in progress, so we can't guarantee that every example will work exactly.

Examples may also be found in the `examples/` directory.


  1. Fork it

  2. Create your feature branch (`git checkout -b my-new-feature`)

  3. Commit your changes (`git commit -am 'Add some feature'`)

  4. Push to the branch (`git push origin my-new-feature`)

  5. Create new Pull Request


Copyright © 2013, Wan Zuhao and the Ruby Science Foundation.

All rights reserved.

Plotrb, along with SciRuby, is licensed under the BSD 2-clause license. See LICENSE.txt for details.


Support a SciRuby Fellow: