class Gruff::AccumulatorBar

A special bar graph that shows a single dataset as a set of stacked bars. The bottom bar shows the running total and the top bar shows the new value being added to the array.

Public Instance Methods

draw() click to toggle source
Calls superclass method Gruff::StackedBar#draw
# File lib/gruff/accumulator_bar.rb, line 10
def draw
  raise(Gruff::IncorrectNumberOfDatasetsException) unless @data.length == 1
  
  accumulator_array = []
  index = 0

  increment_array = @data.first[DATA_VALUES_INDEX].inject([]) {|memo, value| 
      memo << ((index > 0) ? (value + memo.max) : value)
      accumulator_array << memo[index] - value
      index += 1
      memo
    }
  data "Accumulator", accumulator_array
  
  super
end