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
34
# File 'lib/axlsx/drawing/scaling.rb', line 28

def initialize(options={})
  @orientation = :minMax
  @logBase, @min, @max = nil, nil, nil
  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)


49
50
51
52
53
54
55
56
# File 'lib/axlsx/drawing/scaling.rb', line 49

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