### Home Classes Methods

### In Files

- lib/SVG/Graph/BarBase.rb

### Parent

SVG::Graph::Graph

### Methods

- ::new
- #get_css
- #max_value
- #min_value
- #set_defaults

### Class/Module Index

Quicksearch

- SVG
- SVG::Graph
- SVG::Graph::Bar
- SVG::Graph::BarBase
- SVG::Graph::BarHorizontal
- SVG::Graph::Graph
- SVG::Graph::Line
- SVG::Graph::Pie
- SVG::Graph::Plot
- SVG::Graph::Schedule
- SVG::Graph::TimeSeries
- DataPoint
- Object

No matching classes.

# 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.