Class: Axlsx::GraphicFrame

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

Overview

Note:

The recommended way to manage charts is Worksheet#add_chart

A graphic frame defines a container for a chart object

See Also:

Instance Attribute Summary (collapse)

Instance Method Summary (collapse)

Constructor Details

- (GraphicFrame) initialize(anchor, chart_type, options)

Creates a new GraphicFrame object



19
20
21
22
23
# File 'lib/axlsx/drawing/graphic_frame.rb', line 19

def initialize(anchor, chart_type, options)
  DataTypeValidator.validate "Drawing.chart_type", Chart, chart_type
  @anchor = anchor
  @chart = chart_type.new(self, options)
end

Instance Attribute Details

- (TwoCellAnchor) anchor (readonly)

A anchor that holds this frame



14
15
16
# File 'lib/axlsx/drawing/graphic_frame.rb', line 14

def anchor
  @anchor
end

- (Chart) chart (readonly)

A reference to the chart object associated with this frame



10
11
12
# File 'lib/axlsx/drawing/graphic_frame.rb', line 10

def chart
  @chart
end

Instance Method Details

- (String) rId

The relationship id for this graphic frame.



27
28
29
# File 'lib/axlsx/drawing/graphic_frame.rb', line 27

def rId
  @anchor.drawing.relationships.for(chart).Id
end

- (String) to_xml_string(str = '')

Serializes the object



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/axlsx/drawing/graphic_frame.rb', line 34

def to_xml_string(str = '')
  # macro attribute should be optional!
  str << '<xdr:graphicFrame>'
  str << '<xdr:nvGraphicFramePr>'
  str << ('<xdr:cNvPr id="' << @anchor.drawing.index.to_s << '" name="' << 'item_' << @anchor.drawing.index.to_s << '"/>')
  str << '<xdr:cNvGraphicFramePr/>'
  str << '</xdr:nvGraphicFramePr>'
  str << '<xdr:xfrm>'
  str << '<a:off x="0" y="0"/>'
  str << '<a:ext cx="0" cy="0"/>'
  str << '</xdr:xfrm>'
  str << '<a:graphic>'
  str << ('<a:graphicData uri="' << XML_NS_C << '">')
  str << ('<c:chart xmlns:c="' << XML_NS_C << '" xmlns:r="' << XML_NS_R << '" r:id="' << rId << '"/>')
  str << '</a:graphicData>'
  str << '</a:graphic>'
  str << '</xdr:graphicFrame>'
end