Class: Gruff::AccumulatorBar

Inherits:
StackedBar show all
Defined in:
lib/gruff/accumulator_bar.rb

Overview

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.

Constant Summary

Constants inherited from Base

Base::DATA_COLOR_INDEX, Base::DATA_LABEL_INDEX, Base::DATA_VALUES_INDEX, Base::DEBUG, Base::DEFAULT_TARGET_WIDTH, Base::LEGEND_MARGIN

Instance Attribute Summary

Attributes inherited from Base

#additional_line_values, #bottom_margin, #center_labels_over_point, #colors, #font, #font_color, #has_left_labels, #hide_legend, #hide_line_markers, #hide_line_numbers, #hide_title, #labels, #left_margin, #legend_box_size, #legend_font_size, #marker_color, #marker_count, #marker_font_size, #maximum_value, #minimum_value, #no_data_message, #right_margin, #sort, #stacked, #title, #title_font_size, #top_margin, #x_axis_label, #y_axis_increment, #y_axis_label

Instance Method Summary collapse

Methods inherited from Base

#add_color, #data, #initialize, #initialize_ivars, #margins=, #replace_colors, #theme=, #theme_37signals, #theme_greyscale, #theme_keynote, #theme_odeo, #theme_pastel, #theme_rails_keynote, #to_blob, #write

Methods included from Deprecated

#graph_height, #graph_left, #graph_top, #graph_width, #scale_measurements, #total_height

Constructor Details

This class inherits a constructor from Gruff::Base

Instance Method Details

#drawObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 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