Class: Axlsx::Scaling

Inherits:
Object
  • Object
show all
Defined in:
lib/axlsx/drawing/scaling.rb

Overview

The Scaling class defines axis scaling

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Scaling

creates a new Scaling object

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • logBase (Integer, Fixnum)
  • orientation (Symbol)
  • max (Float)
  • min (Float)


28
29
30
31
32
33
# File 'lib/axlsx/drawing/scaling.rb', line 28

def initialize(options={})
  @orientation = :minMax
  options.each do |o|
    self.send("#{o[0]}=", o[1]) if self.respond_to? "#{o[0]}="
  end
end

Instance Attribute Details

#logBaseInteger

logarithmic base for a logarithmic axis. must be between 2 and 1000

Returns:

  • (Integer)


8
9
10
# File 'lib/axlsx/drawing/scaling.rb', line 8

def logBase
  @logBase
end

#maxFloat

the maximum scaling

Returns:

  • (Float)


17
18
19
# File 'lib/axlsx/drawing/scaling.rb', line 17

def max
  @max
end

#minFloat

the minimu scaling

Returns:

  • (Float)


21
22
23
# File 'lib/axlsx/drawing/scaling.rb', line 21

def min
  @min
end

#orientationSymbol

the orientation of the axis must be one of [:minMax, :maxMin]

Returns:

  • (Symbol)


13
14
15
# File 'lib/axlsx/drawing/scaling.rb', line 13

def orientation
  @orientation
end

Instance Method Details

#to_xml(xml) ⇒ String

Serializes the axId

Parameters:

  • xml (Nokogiri::XML::Builder)

    The document builder instance this objects xml will be added to.

Returns:

  • (String)


43
44
45
46
47
48
49
50
# File 'lib/axlsx/drawing/scaling.rb', line 43

def to_xml(xml)
  xml.send('c:scaling') {
    xml.send('c:logBase', :val=> @logBase) unless @logBase.nil?
    xml.send('c:orientation', :val=> @orientation) unless @orientation.nil?
    xml.send('c:min', :val => @min) unless @min.nil?
    xml.send('c:max', :val => @max) unless @max.nil?
  }
end