Hi, half of the GSOC 2015 is over so I think it's good time to draw a line under the work that is already done. My project is visualization library (GnuplotRB) for Ruby based on Gnuplot. In this post I'm going to write a few words about already implemented features and give several examples (mostly as links).

Gem repository (with README and installation notes).

Gem on RubyGems.



Embedding plots into iRuby notebooks

GnuplotRB plots may be embedded into iRuby notebooks as images (terminals svg, png, jpeg and pngcairo are supported) or plain text (dumb terminal). They may be customized with canvas size, font family, font size etc. By default plots are embedded as svg and to change it one should use term option. Examples of embedding plots of different times may be found in a notebook.

2D and 3D plots

GnuplotRB is capable to plot vast range of plots from histograms to 3D heatmaps. Gem's repository contains examples of several plot types:

Others may be found in Gnuplot's examples.

Possible datasources

GnuplotRB may take data in Ruby container or in a file. Supported containers for now are Arrays, Daru::Vector and Daru::DataFrame. When data given in file, GnuplotRB pass filename to Gnuplot without reading the file into memory.

Examples of using different datasources:


You can not only plot several datasets in single coordinate system but place several coordinate systems on a canvas. Example notebook.


You're very welcome to request examples or help and report bugs at issues list. There are also questions that should be discussed: