Class: Axlsx::CatAxis

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

Overview

A CatAxis object defines a chart category axis

Constant Summary collapse

LBL_OFFSET_REGEX =

regex for validating label offset

/0*(([0-9])|([1-9][0-9])|([1-9][0-9][0-9])|1000)%/

Instance Attribute Summary collapse

Attributes inherited from Axis

#axId, #axPos, #crossAx, #crosses, #format_code, #scaling, #tickLblPos

Instance Method Summary collapse

Constructor Details

#initialize(axId, crossAx, options = {}) ⇒ CatAxis

Creates a new CatAxis object

Parameters:

  • axId (Integer)

    the id of this axis. Inherited

  • crossAx (Integer)

    the id of the perpendicular axis. Inherited

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

    a customizable set of options

Options Hash (options):

  • axPos. (Symbol)

    Inherited

  • tickLblPos. (Symbol)

    Inherited

  • crosses. (Symbol)

    Inherited

  • auto (Boolean)
  • lblAlgn (Symbol)
  • lblOffset (Integer)


31
32
33
34
35
36
# File 'lib/axlsx/drawing/cat_axis.rb', line 31

def initialize(axId, crossAx, options={})
  self.auto = true
  self.lblAlgn = :ctr
  self.lblOffset = "100%"
  super(axId, crossAx, options)
end

Instance Attribute Details

#autoBoolean

From the docs: This element specifies that this axis is a date or text axis based on the data that is used for the axis labels, not a specific choice.

Returns:

  • (Boolean)


7
8
9
# File 'lib/axlsx/drawing/cat_axis.rb', line 7

def auto
  @auto
end

#lblAlgnSymbol

specifies how the perpendicular axis is crossed must be one of [:ctr, :l, :r]

Returns:

  • (Symbol)


12
13
14
# File 'lib/axlsx/drawing/cat_axis.rb', line 12

def lblAlgn
  @lblAlgn
end

#lblOffsetInteger

The offset of the labels must be between a string between 0 and 1000

Returns:

  • (Integer)


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

def lblOffset
  @lblOffset
end

Instance Method Details

#to_xml(xml) ⇒ String

Serializes the category axis

Parameters:

  • xml (Nokogiri::XML::Builder)

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

Returns:

  • (String)


52
53
54
55
56
57
58
59
# File 'lib/axlsx/drawing/cat_axis.rb', line 52

def to_xml(xml)
  xml.send('c:catAx') {
    super(xml)
    xml.send('c:auto', :val=>@auto)
    xml.send('c:lblAlgn', :val=>@lblAlgn)
    xml.send('c:lblOffset', :val=>@lblOffset)                 
  }
end