/gruff

Gruff graphing library for Ruby

Primary LanguageRubyMIT LicenseMIT

Gruff Graphs

Build Status Gem Version

A library for making beautiful graphs.

WARNING

This is beta-quality software. It works well according to our tests, but the API may change and other features will be added. We are working to make Gruff production quality software.

Installation

Add this line to your application's Gemfile:

gem 'gruff'

And then execute:

$ bundle

Or install it yourself as:

$ gem install gruff

Usage

require 'gruff'
g = Gruff::Line.new
g.title = 'Wow!  Look at this!'
g.labels = { 0 => '5/6', 1 => '5/15', 2 => '5/24', 3 => '5/30', 4 => '6/4',
             5 => '6/12', 6 => '6/21', 7 => '6/28' }
g.data :Jimmy, [25, 36, 86, 39, 25, 31, 79, 88]
g.data :Charles, [80, 54, 67, 54, 68, 70, 90, 95]
g.data :Julie, [22, 29, 35, 38, 36, 40, 46, 57]
g.data :Jane, [95, 95, 95, 90, 85, 80, 88, 100]
g.data :Philip, [90, 34, 23, 12, 78, 89, 98, 88]
g.data :Arthur, [5, 10, 13, 11, 6, 16, 22, 32]
g.write('exciting.png')

Examples

You can find many examples in the test directory along with their resulting charts in the output directory.

You can find older examples here: http://nubyonrails.com/pages/gruff

Accumulator bar chart

Accumulator bar chart

Area chart

Area chart

Bar chart

Bar chart

Bezier chart

In progress!

Bezier chart

Bullet chart

In progress!

Bullet chart

Dot chart

Dot chart

Line chart

Line chart

LineXY chart

LineXY chart

Net chart

Net chart

Pie chart

Pie chart

Scatter chart

Scatter chart

Side bar chart

Side bar chart

Side stacked bar chart

Side stacked bar chart

Spider chart

Spider chart

Stacked area chart

Stacked area chart

Stacked bar chart

Stacked bar chart

Documentation

http://www.rubydoc.info/github/topfunky/gruff/frames

Contributing

Source

The source for this project is now kept at GitHub:

http://github.com/topfunky/gruff

  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