class Axlsx::BarChart
The BarChart
is a three dimentional barchart (who would have guessed?) that you can add to your worksheet. @see Worksheet#add_chart
@see Chart#add_series
@see Package#serialize
@see README for an example
Constants
- GAP_AMOUNT_PERCENT
validation regex for gap amount percent
Attributes
space between bar or column clusters, as a percentage of the bar or column width. @return [String]
space between bar or column clusters, as a percentage of the bar or column width. @return [String]
Public Class Methods
Creates a new bar chart object @param [GraphicFrame] frame The workbook that owns this chart. @option options [Cell, String] title @option options [Boolean] show_legend @option options [Symbol] bar_dir
@option options [Symbol] grouping @option options [String] gap_width
@option options [String] gap_depth
@option options [Symbol] shape @see Chart
# File lib/axlsx/drawing/bar_chart.rb, line 72 def initialize(frame, options={}) @vary_colors = true @gap_width, @gap_depth, @shape = nil, nil, nil super(frame, options) @series_type = BarSeries @d_lbls = nil end
Public Instance Methods
The direction of the bars in the chart must be one of [:bar, :col] @return [Symbol]
# File lib/axlsx/drawing/bar_chart.rb, line 28 def bar_dir @bar_dir ||= :bar end
The direction of the bars in the chart must be one of [:bar, :col]
# File lib/axlsx/drawing/bar_chart.rb, line 82 def bar_dir=(v) RestrictionValidator.validate "BarChart.bar_dir", [:bar, :col], v @bar_dir = v end
the category axis @return [CatAxis]
# File lib/axlsx/drawing/bar_chart.rb, line 13 def cat_axis axes[:cat_axis] end
space between bar or column clusters, as a percentage of the bar or column width.
# File lib/axlsx/drawing/bar_chart.rb, line 103 def gap_depth=(v) RegexValidator.validate "BarChart.gap_didth", GAP_AMOUNT_PERCENT, v @gap_depth=(v) end
space between bar or column clusters, as a percentage of the bar or column width. @return [String]
# File lib/axlsx/drawing/bar_chart.rb, line 40 def gap_width @gap_width ||= 150 end
space between bar or column clusters, as a percentage of the bar or column width.
# File lib/axlsx/drawing/bar_chart.rb, line 96 def gap_width=(v) RegexValidator.validate "BarChart.gap_width", GAP_AMOUNT_PERCENT, v @gap_width=(v) end
grouping for a column, line, or area chart.
must be one of [:percentStacked, :clustered, :standard, :stacked] @return [Symbol]
# File lib/axlsx/drawing/bar_chart.rb, line 48 def grouping @grouping ||= :clustered end
grouping for a column, line, or area chart.
must be one of [:percentStacked, :clustered, :standard, :stacked]
# File lib/axlsx/drawing/bar_chart.rb, line 90 def grouping=(v) RestrictionValidator.validate "BarChart.grouping", [:percentStacked, :clustered, :standard, :stacked], v @grouping = v end
The shabe of the bars or columns must be one of [:cone, :coneToMax, :box, :cylinder, :pyramid, :pyramidToMax] @return [Symbol]
# File lib/axlsx/drawing/bar_chart.rb, line 55 def shape @shape ||= :box end
The shabe of the bars or columns must be one of [:cone, :coneToMax, :box, :cylinder, :pyramid, :pyramidToMax]
# File lib/axlsx/drawing/bar_chart.rb, line 111 def shape=(v) RestrictionValidator.validate "BarChart.shape", [:cone, :coneToMax, :box, :cylinder, :pyramid, :pyramidToMax], v @shape = v end
Serializes the object @param [String] str @return [String]
# File lib/axlsx/drawing/bar_chart.rb, line 119 def to_xml_string(str = '') super(str) do str << '<c:barChart>' str << ('<c:barDir val="' << bar_dir.to_s << '"/>') str << ('<c:grouping val="' << grouping.to_s << '"/>') str << ('<c:varyColors val="' << vary_colors.to_s << '"/>') @series.each { |ser| ser.to_xml_string(str) } @d_lbls.to_xml_string(str) if @d_lbls str << ('<c:gapWidth val="' << @gap_width.to_s << '"/>') unless @gap_width.nil? str << ('<c:gapDepth val="' << @gap_depth.to_s << '"/>') unless @gap_depth.nil? str << ('<c:shape val="' << @shape.to_s << '"/>') unless @shape.nil? axes.to_xml_string(str, :ids => true) str << '</c:barChart>' axes.to_xml_string(str) end end
the value axis @return [ValAxis]
# File lib/axlsx/drawing/bar_chart.rb, line 20 def val_axis axes[:val_axis] end