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
-
#barDir ⇒ Symbol
The direction of the bars in the chart must be one of [:bar, :col].
-
#catAxis ⇒ CatAxis
readonly
the category axis.
-
#gapDepth ⇒ String
space between bar or column clusters, as a percentage of the bar or column width.
-
#gapWidth ⇒ String
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 [:percentStacked, :clustered, :standard, :stacked].
-
#valAxis ⇒ ValAxis
readonly
the category axis.
Attributes inherited from Chart
#end_at, #graphic_frame, #index, #pn, #series, #series_type, #show_legend, #start_at, #title, #view3D
Instance Method Summary collapse
-
#initialize(frame, options = {}) ⇒ Bar3DChart
constructor
Creates a new bar chart object.
-
#to_xml ⇒ String
Serializes the bar chart.
Methods inherited from Chart
Constructor Details
#initialize(frame, options = {}) ⇒ Bar3DChart
Creates a new bar chart object
79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/axlsx/drawing/bar_3D_chart.rb', line 79 def initialize(frame, ={}) super(frame, ) @series_type = BarSeries @barDir = :bar @grouping = :clustered @catAxId = rand(8 ** 8) @valAxId = rand(8 ** 8) @catAxis = CatAxis.new(@catAxId, @valAxId) @valAxis = ValAxis.new(@valAxId, @catAxId) @view3D = View3D.new(:rAngAx=>1) end |
Instance Attribute Details
#barDir ⇒ Symbol
The direction of the bars in the chart must be one of [:bar, :col]
47 48 49 |
# File 'lib/axlsx/drawing/bar_3D_chart.rb', line 47 def @barDir end |
#catAxis ⇒ CatAxis (readonly)
the category axis
38 39 40 |
# File 'lib/axlsx/drawing/bar_3D_chart.rb', line 38 def catAxis @catAxis end |
#gapDepth ⇒ String
space between bar or column clusters, as a percentage of the bar or column width.
51 52 53 |
# File 'lib/axlsx/drawing/bar_3D_chart.rb', line 51 def gapDepth @gapDepth end |
#gapWidth ⇒ String
space between bar or column clusters, as a percentage of the bar or column width.
55 56 57 |
# File 'lib/axlsx/drawing/bar_3D_chart.rb', line 55 def gapWidth @gapWidth end |
#grouping ⇒ Symbol
grouping for a column, line, or area chart. must be one of [:percentStacked, :clustered, :standard, :stacked]
60 61 62 |
# File 'lib/axlsx/drawing/bar_3D_chart.rb', line 60 def grouping @grouping end |
#shape ⇒ Symbol
The shabe of the bars or columns must be one of [:percentStacked, :clustered, :standard, :stacked]
65 66 67 |
# File 'lib/axlsx/drawing/bar_3D_chart.rb', line 65 def shape @shape end |
#valAxis ⇒ ValAxis (readonly)
the category axis
42 43 44 |
# File 'lib/axlsx/drawing/bar_3D_chart.rb', line 42 def valAxis @valAxis end |
Instance Method Details
#to_xml ⇒ String
Serializes the bar chart
119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
# File 'lib/axlsx/drawing/bar_3D_chart.rb', line 119 def to_xml super() do |xml| xml.send('c:bar3DChart') { xml.send('c:barDir', :val => ) xml.send('c:grouping', :val=>grouping) xml.send('c:varyColors', :val=>1) @series.each { |ser| ser.to_xml(xml) } xml.send('c:gapWidth', :val=>@gapWidth) unless @gapWidth.nil? xml.send('c:gapDepth', :val=>@gapDepth) unless @gapDepth.nil? xml.send('c:shape', :val=>@shape) unless @shape.nil? xml.send('c:axId', :val=>@catAxId) xml.send('c:axId', :val=>@valAxId) xml.send('c:axId', :val=>0) } @catAxis.to_xml(xml) @valAxis.to_xml(xml) end end |