class 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.
Calls superclass method
SVG::Graph::Graph.new
# 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 <<EOL /* 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; } EOL 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