SVG::Graph::BarBase

Synopsis

A superclass for bar-style graphs. Do not attempt to instantiate directly; use one of the subclasses instead.

Author

Sean E. Russell <serATgermaneHYPHENsoftwareDOTcom>

Copyright 2004 Sean E. Russell This software is available under the Ruby license

Attributes

bar_gap[RW]

Whether to have a gap between the bars or not, default is true, set to false if you don't want gaps.

stack[RW]

How to stack data sets. :overlap overlaps bars with transparent colors, :top stacks bars on top of one another, :side stacks the bars side-by-side. Defaults to :overlap.

Public Class Methods

new(config) click to toggle source

Ensures that :fields are provided in the configuration.

# File lib/SVG/Graph/BarBase.rb, line 20
def initialize config
    raise "fields was not supplied or is empty" unless config[:fields] &&
    config[:fields].kind_of?(Array) &&
    config[:fields].length > 0
    super
end

Public Instance Methods

set_defaults() click to toggle source

In addition to the defaults set in Graph::initialize, sets

bar_gap

true

stack

:overlap

# File lib/SVG/Graph/BarBase.rb, line 30
def set_defaults
    init_with( :bar_gap => true, :stack => :overlap )
end

Protected Instance Methods

get_css() click to toggle source
# File lib/SVG/Graph/BarBase.rb, line 58
def get_css
  return /* default fill styles for multiple datasets (probably only use a single dataset on this graph though) */.key1,.fill1{        fill: #ff0000;        fill-opacity: 0.5;        stroke: none;        stroke-width: 0.5px;   }.key2,.fill2{        fill: #0000ff;        fill-opacity: 0.5;        stroke: none;        stroke-width: 1px;     }.key3,.fill3{        fill: #00ff00;        fill-opacity: 0.5;        stroke: none;        stroke-width: 1px;     }.key4,.fill4{        fill: #ffcc00;        fill-opacity: 0.5;        stroke: none;        stroke-width: 1px;     }.key5,.fill5{        fill: #00ccff;        fill-opacity: 0.5;        stroke: none;        stroke-width: 1px;     }.key6,.fill6{        fill: #ff00ff;        fill-opacity: 0.5;        stroke: none;        stroke-width: 1px;     }.key7,.fill7{        fill: #00ffff;        fill-opacity: 0.5;        stroke: none;        stroke-width: 1px;     }.key8,.fill8{        fill: #ffff00;        fill-opacity: 0.5;        stroke: none;        stroke-width: 1px;     }.key9,.fill9{        fill: #cc6666;        fill-opacity: 0.5;        stroke: none;        stroke-width: 1px;     }.key10,.fill10{        fill: #663399;        fill-opacity: 0.5;        stroke: none;        stroke-width: 1px;     }.key11,.fill11{        fill: #339900;        fill-opacity: 0.5;        stroke: none;        stroke-width: 1px;     }.key12,.fill12{        fill: #9966FF;        fill-opacity: 0.5;        stroke: none;        stroke-width: 1px;     }
end
max_value() click to toggle source
# File lib/SVG/Graph/BarBase.rb, line 43
def max_value
@data.collect{|x| x[:data].max}.max
end
min_value() click to toggle source
# File lib/SVG/Graph/BarBase.rb, line 47
def min_value
  min = 0
  if min_scale_value.nil? 
    min = @data.collect{|x| x[:data].min}.min
    min = min > 0 ? 0 : min
  else
    min = min_scale_value
  end
  return min
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.