Class: Axlsx::Bar3DChart
- Defined in:
- lib/axlsx/drawing/bar_3D_chart.rb
Overview
The Bar3DChart is a three dimentional barchart (who would have guessed?) that you can add to your worksheet.
Constant Summary collapse
- GAP_AMOUNT_PERCENT =
validation regex for gap amount percent
/0*(([0-9])|([1-9][0-9])|([1-4][0-9][0-9])|500)%/
Instance Attribute Summary collapse
-
#bar_dir ⇒ Symbol
(also: #barDir)
The direction of the bars in the chart must be one of [:bar, :col].
-
#cat_axis ⇒ CatAxis
(also: #catAxis)
readonly
the category axis.
-
#gap_depth ⇒ String
(also: #gapDepth)
space between bar or column clusters, as a percentage of the bar or column width.
-
#gap_width ⇒ String
(also: #gapWidth)
space between bar or column clusters, as a percentage of the bar or column width.
-
#grouping ⇒ Symbol
grouping for a column, line, or area chart.
-
#shape ⇒ Symbol
The shabe of the bars or columns must be one of [:cone, :coneToMax, :box, :cylinder, :pyramid, :pyramidToMax].
-
#val_axis ⇒ ValAxis
(also: #valAxis)
readonly
the value axis.
Attributes inherited from Chart
#graphic_frame, #series, #series_type, #show_legend, #style, #title, #view_3D
Instance Method Summary collapse
-
#initialize(frame, options = {}) ⇒ Bar3DChart
constructor
Creates a new bar chart object.
-
#to_xml_string(str = '') ⇒ String
Serializes the object.
Methods inherited from Chart
#add_series, #d_lbls, #end_at, #from, #index, #pn, #start_at, #to
Constructor Details
#initialize(frame, options = {}) ⇒ Bar3DChart
Creates a new bar chart object
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/axlsx/drawing/bar_3D_chart.rb', line 67 def initialize(frame, ={}) @bar_dir = :bar @grouping = :clustered @shape = :box @gap_width = 150 @gap_width, @gap_depth, @shape = nil, nil, nil @cat_ax_id = rand(8 ** 8) @val_ax_id = rand(8 ** 8) @cat_axis = CatAxis.new(@cat_ax_id, @val_ax_id) @val_axis = ValAxis.new(@val_ax_id, @cat_ax_id, :tick_lbl_pos => :low, :ax_pos => :l) super(frame, ) @series_type = BarSeries @view_3D = View3D.new({:r_ang_ax=>1}.merge()) @d_lbls = nil end |
Instance Attribute Details
#bar_dir ⇒ Symbol Also known as: barDir
The direction of the bars in the chart must be one of [:bar, :col]
24 25 26 |
# File 'lib/axlsx/drawing/bar_3D_chart.rb', line 24 def @bar_dir end |
#cat_axis ⇒ CatAxis (readonly) Also known as: catAxis
the category axis
13 14 15 |
# File 'lib/axlsx/drawing/bar_3D_chart.rb', line 13 def cat_axis @cat_axis end |
#gap_depth ⇒ String Also known as: gapDepth
space between bar or column clusters, as a percentage of the bar or column width.
29 30 31 |
# File 'lib/axlsx/drawing/bar_3D_chart.rb', line 29 def gap_depth @gap_depth end |
#gap_width ⇒ String Also known as: gapWidth
space between bar or column clusters, as a percentage of the bar or column width.
34 35 36 |
# File 'lib/axlsx/drawing/bar_3D_chart.rb', line 34 def gap_width @gap_width end |
#grouping ⇒ Symbol
grouping for a column, line, or area chart. must be one of [:percentStacked, :clustered, :standard, :stacked]
40 41 42 |
# File 'lib/axlsx/drawing/bar_3D_chart.rb', line 40 def grouping @grouping end |
#shape ⇒ Symbol
The shabe of the bars or columns must be one of [:cone, :coneToMax, :box, :cylinder, :pyramid, :pyramidToMax]
45 46 47 |
# File 'lib/axlsx/drawing/bar_3D_chart.rb', line 45 def shape @shape end |
#val_axis ⇒ ValAxis (readonly) Also known as: valAxis
the value axis
18 19 20 |
# File 'lib/axlsx/drawing/bar_3D_chart.rb', line 18 def val_axis @val_axis end |
Instance Method Details
#to_xml_string(str = '') ⇒ String
Serializes the object
122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 |
# File 'lib/axlsx/drawing/bar_3D_chart.rb', line 122 def to_xml_string(str = '') super(str) do |str_inner| str_inner << '<c:bar3DChart>' str_inner << '<c:barDir val="' << .to_s << '"/>' str_inner << '<c:grouping val="' << grouping.to_s << '"/>' str_inner << '<c:varyColors val="1"/>' @series.each { |ser| ser.to_xml_string(str_inner) } @d_lbls.to_xml_string(str) if @d_lbls str_inner << '<c:gapWidth val="' << @gap_width.to_s << '"/>' unless @gap_width.nil? str_inner << '<c:gapDepth val="' << @gap_depth.to_s << '"/>' unless @gap_depth.nil? str_inner << '<c:shape val="' << @shape.to_s << '"/>' unless @shape.nil? str_inner << '<c:axId val="' << @cat_ax_id.to_s << '"/>' str_inner << '<c:axId val="' << @val_ax_id.to_s << '"/>' str_inner << '<c:axId val="0"/>' str_inner << '</c:bar3DChart>' @cat_axis.to_xml_string str_inner @val_axis.to_xml_string str_inner end end |